当前位置: 移动技术网 > IT编程>移动开发>Android > Android判断当前应用程序处于前台还是后台的两种方法

Android判断当前应用程序处于前台还是后台的两种方法

2019年07月24日  | 移动技术网IT编程  | 我要评论

赤裸迷情,湖北大学知行学院地址,我爱我车

1、通过runningtaskinfo类判断(需要额外权限):

复制代码 代码如下:

/**
     *判断当前应用程序处于前台还是后台
     */
    public static boolean isapplicationbroughttobackground(final context context) {
        activitymanager am = (activitymanager) context.getsystemservice(context.activity_service);
        list<runningtaskinfo> tasks = am.getrunningtasks(1);
        if (!tasks.isempty()) {
            componentname topactivity = tasks.get(0).topactivity;
            if (!topactivity.getpackagename().equals(context.getpackagename())) {
                return true;
            }
        }
        return false;

    }

需要在androidmenitfest.xml文件中添加以下权限

复制代码 代码如下:

<uses-permission android:name="android.permission.get_tasks" /> 

2、通过runningappprocessinfo类判断(不需要额外权限):

复制代码 代码如下:

public static boolean isbackground(context context) {

    activitymanager activitymanager = (activitymanager) context.getsystemservice(context.activity_service);
    list<runningappprocessinfo> appprocesses = activitymanager.getrunningappprocesses();
    for (runningappprocessinfo appprocess : appprocesses) {
         if (appprocess.processname.equals(context.getpackagename())) {
                if (appprocess.importance == runningappprocessinfo.importance_background) {
                          log.i("后台", appprocess.processname);
                          return true;
                }else{
                          log.i("前台", appprocess.processname);
                          return false;
                }
           }
    }
    return false;
}

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网