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

Android 判断App是否在后台运行

2017-08-04 10:59 330 查看
有时候APP在进入后台的时候需要做一些特殊的操作,这时候我们需要对APP是否处于后台做出判断。

1.  APP是否处于前台

  private boolean isAppOnForeground() {

        ActivityManager activityManager = (ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);

        String packageName = getApplicationContext().getPackageName();

        List<ActivityManager.RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();

        if (appProcesses == null) {

            return false;

        }

        for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses) {

            if (appProcess.processName.equals(packageName) && appProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {

                return true;

            }

        }

        return false;

    }

2. 在BaseActivity的onstop方法中做出判断

   public abstract class BaseActivity extends FragmentActivity {

    @Override

    protected void onCreate(@Nullable Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

    }

    @Override

    protected void onStop() {

        // TODO Auto-generated method stub

        super.onStop();

        if (!isAppOnForeground()) {

            // do something

        }

    }

......

  }

3. 其它activity继承该BaseActivity 即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: