首页 > 代码库 > Android判断应用程序是否在前台
Android判断应用程序是否在前台
Android app中通过Broadcast Receiver接受Alarm的定时消息,以便发送Notification;这里发送Notification前要求app自身不在运行状态;检测app自身是否在前台的一个宗旨是:判断app所有的Activity是否有在前台的;在网上找了好长一段时间,发现一个个人觉得比较好的判定方法:
public boolean isAppForground(Context mContext) { ActivityManager am = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE); List<RunningTaskInfo> tasks = am.getRunningTasks(1); if (!tasks.isEmpty()) { ComponentName topActivity = tasks.get(0).topActivity; if (!topActivity.getPackageName().equals(mContext.getPackageName())) { return false; } } return true; }
注:getRunningTasks方法,Android Document中说API level 21开始该方法将deprecated, 暂时没去测试,不知道会有多大影响
Android判断应用程序是否在前台
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。