Android判断App是否在前台运行
Posted xz_xiaoshan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android判断App是否在前台运行相关的知识,希望对你有一定的参考价值。
// android开发中,有时候需要判断App是否在前台运行。 代码实现如下: private boolean isRunningForeground(Context context) {
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
ComponentName cn = am.getRunningTasks(1).get(0).topActivity;
String currentPackageName = cn.getPackageName();
if (currentPackageName != null && currentPackageName.equals(getPackageName())) {
return true;
}
return false;
}
//注意:AndroidManifest.xml中需增加< uses-permission android:name =“android.permission.GET_TASKS” />
protected static boolean isTopActivity(Activity activity) {
String packageName = "xxxxx";
ActivityManager activityManager = (ActivityManager) activity.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> tasksInfo = activityManager.getRunningTasks(1);
if (tasksInfo.size() > 0) {
System.out.println("---------------包名-----------" + tasksInfo.get(0).topActivity.getPackageName());
// 应用程序位于堆栈的顶层
if (packageName.equals(tasksInfo.get(0).topActivity.getPackageName())) {
return true;
}
}
return false;
}
//需要添加android.permission.GET_TASKS权限
以上是关于Android判断App是否在前台运行的主要内容,如果未能解决你的问题,请参考以下文章
Android判断应用在前台还是后台运行(判断应用前后台切换)