标签:android io ar java for on cti ad 时间
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 io ar java for on cti ad 时间
原文地址:http://my.oschina.net/u/146011/blog/350172