检查android应用程序是否在前台?

检查android应用程序是否在前台?,第1张

概述参见英文答案>CheckingifanAndroidapplicationisrunninginthebackground                                    29个>            Checkwhetheractivityisactive                        

参见英文答案 > Checking if an Android application is running in the background                                    29个
>            Check whether activity is active                                    6个
>            Determining the current foreground application from a background task or service                                    13个
我为这个问题经历了很多答案.但这都是关于单一活动的.如何检查整个应用程序是否在前台运行?

解决方法:

我不明白你想要什么,但你可以使用ActivityManager.getRunningAppProcesses()调用检测当前的前台/后台应用程序.

就像是,

class ForegroundCheckTask extends AsyncTask<Context, VoID, Boolean> {  @OverrIDe  protected Boolean doInBackground(Context... params) {    final Context context = params[0].getApplicationContext();    return isAppOnForeground(context);  }  private boolean isAppOnForeground(Context context) {    ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);    List<RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();    if (appProcesses == null) {      return false;    }    final String packagename = context.getPackagename();    for (RunningAppProcessInfo appProcess : appProcesses) {      if (appProcess.importance == RunningAppProcessInfo.importANCE_FOREGROUND && appProcess.processname.equals(packagename)) {        return true;      }    }    return false;  }}// Use like this:boolean foregroud = new ForegroundCheckTask().execute(context).get();

如果我误解了,也请告诉我.

更新:请看这个问题Determining the current foreground application from a background task or service更多信息..

谢谢..

总结

以上是内存溢出为你收集整理的检查android应用程序是否在前台?全部内容,希望文章能够帮你解决检查android应用程序是否在前台?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1104376.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存