http://stackoverflow.com/questions/12172092/check-if-activity-is-running-from-service
有时候需要在service中了解时候某个Activity还在运行状态。例如:收到通知消息的时候打开指定的Activity。但是如果指定的Activity已经不再运行,一些依赖的上下文将不再可用。所以需要在service中检查指定的上下文是否运行。
public boolean isForeground(String myPackage){
ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
List< ActivityManager.RunningTaskInfo > runningTaskInfo = manager.getRunningTasks(1);
ComponentName componentInfo = runningTaskInfo.get(0).topActivity;
if(componentInfo.getPackageName().equals(myPackage)) return true;
return false;
}
增加permission:
<uses-permission android:name="android.permission.GET_TASKS" />