您的位置:首页 > 移动开发 > Android开发

Android中判断当前应用程序是否在运行 推送时进行判断

2016-06-21 14:37 435 查看
private boolean isAppRunning(Context context) {
String packageName = context.getPackageName();
String topActivityClassName=getTopActivityName(context);

if (packageName!=null&&topActivityClassName!=null&&topActivityClassName.startsWith(packageName)) {
return true;
} else {
return false;
}
}

public  String getTopActivityName(Context context){
String topActivityClassName=null;
ActivityManager activityManager =
(ActivityManager)(context.getSystemService(android.content.Context.ACTIVITY_SERVICE )) ;
List<RunningTaskInfo> runningTaskInfos = activityManager.getRunningTasks(1) ;
if(runningTaskInfos != null){
ComponentName f=runningTaskInfos.get(0).topActivity;
topActivityClassName=f.getClassName();
}
return topActivityClassName;
}


//是否在前台运行,判断是否在前台运行 就判断栈顶的是否是这个包名
info.topActivity.getPackageName().equals("com.helloboxpuls")
//是否在后台运行,判断是否在后台运行 就判断栈中是否有这个包名
info.baseActivity.getPackageName().equals("com.helloboxpuls")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: