我是靠谱客的博主 虚心麦片,最近开发中收集的这篇文章主要介绍判断App是否处于前台,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

方法一:


//当前应用是否处于前台
private boolean isForeground(Context context) {
if (context != null) {
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
ComponentName cn = am.getRunningTasks(1).get(0).topActivity;
String currentPackageName = cn.getPackageName();
if (!TextUtils.isEmpty(currentPackageName) && currentPackageName.equals(context.getPackageName())) {
return true;
}
return false;
}
return false;
}

需要权限:<uses-permission Android:name ="android.permission.GET_TASKS"/>

方法二:

//版本4.0以上,可以使用ActivityLifecycle, 在Application的onCreate()当中:
if (Build.VERSION.SDK_INT >= 14) {
lifecycle = new SimpleActivityLifecycle();
registerActivityLifecycleCallbacks(lifecycle);
}
public class SimpleActivityLifecycle implements Application.ActivityLifecycleCallbacks {
private boolean isForeground = false;//应用是否处于前端
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
}
@Override
public void onActivityStarted(Activity activity) {
}
@Override
public void onActivityResumed(Activity activity) {
isForeground = true;
}
@Override
public void onActivityPaused(Activity activity) {
isForeground = false;
}
@Override
public void onActivityStopped(Activity activity) {
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
}
@Override
public void onActivityDestroyed(Activity activity) {
}
public boolean isForeground() {
return isForeground;
}
}

最后

以上就是虚心麦片为你收集整理的判断App是否处于前台的全部内容,希望文章能够帮你解决判断App是否处于前台所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部