android 判断当前application 是在前台还是在后台
答案:2 悬赏:0
解决时间 2021-02-12 14:03
- 提问者网友:浪子生来ˇ性放荡²↘
- 2021-02-12 00:45
android 判断当前application 是在前台还是在后台
最佳答案
- 二级知识专家网友:安稳不如野
- 2021-02-12 02:16
public static boolean isApplicationBroughtToBackground(final Context context) {
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List
if (!tasks.isEmpty()) {
ComponentName topActivity = tasks.get(0).topActivity;
if (!topActivity.getPackageName().equals(context.getPackageName())) {
return true;
}
}
return false;
}
上面这段代码是需要一个权限的:
下面这段代码是我最新发现,无需权限,妥妥滴:
public static boolean isBackground(Context context) {
ActivityManager activityManager = (ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE);
List
.getRunningAppProcesses();
for (RunningAppProcessInfo appProcess : appProcesses) {
if (appProcess.processName.equals(context.getPackageName())) {
if (appProcess.importance == RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {
Log.i(String.format("Background App:", appProcess.processName));
return true;
}else{
Log.i(String.format("Foreground App:", appProcess.processName));
return false;
}
}
}
return false;
}
全部回答
- 1楼网友:湫止没有不同
- 2021-02-12 02:32
public static boolean isapplicationbroughttobackground(final context context) {
activitymanager am = (activitymanager) context.getsystemservice(context.activity_service);
list tasks = am.getrunningtasks(1);
if (!tasks.isempty()) {
componentname topactivity = tasks.get(0).topactivity;
if (!topactivity.getpackagename().equals(context.getpackagename())) {
return true;
}
}
return false;
}上面这段代码是需要一个权限的:
< uses-permission android:name=”android.permission.get_tasks” />
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯