gpt4 book ai didi

android - 我如何检测到我的 Android 应用程序在前台?

转载 作者:搜寻专家 更新时间:2023-11-01 08:14:14 24 4
gpt4 key购买 nike

我正在尝试使用来自 BroadcastReceiver 的下一个代码来了解我的或没有应用程序在前台:

boolean inForeground = false;
ActivityManager actMngr = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> runningAppProcesses = actMngr.getRunningAppProcesses();
for (RunningAppProcessInfo pi : runningAppProcesses) {
if (context.getPackageName().equals(pi.processName)) {
inForeground = pi.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND;
}
}

但是这段代码总是返回true,即使我的应用程序在后台也是如此。我找到了下一个解决方案:

if (actMngr.getRunningTasks(1).get(0).topActivity.getPackageName().equals(context.getPackageName())){
Log.d(TAG, "My");
} else {
Log.d(TAG, "Not my");
}

这段代码是否正确?或者也许有人知道更简单的变体?谢谢!

最佳答案

最直接的方法是使用 onResume()onPause() 跟踪您的前台状态。引用Activity lifecycle model .

关于android - 我如何检测到我的 Android 应用程序在前台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6412923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com