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 即可
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 即可
相关文章推荐
- Android 判断app是否在前台还是在后台运行
- Android判断app是否后台运行中,后台运行通知栏提示
- Android 判断app是否在前台还是在后台运行
- Android 判断app是否在前台还是在后台运行
- Android 判断app是否在前台还是在后台运行
- Android 判断app是否在前台还是在后台运行
- Android 判断app是否在前台还是在后台运行
- Android 判断app是否在前台还是在后台运行
- Android 判断app是否在前台还是在后台运行
- Android 判断app是否在前后台运行
- (4.1.2.6)Android 判断app是否在前台还是在后台运行
- Android 判断app是否运行在后台
- [前台,后台]android 如何判断app 运行在后台
- Android 监控APP是否在后台运行
- 判断Android后台服务线程(Service类)是否正在运行
- Android App如何判断应用是否在前台还是处于后台
- Android 判断App前后台运行状态
- 利用ActivityLifecycleCallbacks判断APP是否在后台运行
- android 如何判断app 运行在后台
- Android 判断App是否在前台运行