我家里有一个应用程序小部件,并定期更新。如果 HOME 不可见,我想停止更新。我使用一项服务来注册屏幕开/关接收器,以便在屏幕开/关时启动/停止更新应用程序小部件。但我不知道如何检测屏幕是否打开但用户正在关注其他内容(即 HOME 不在前台)。如何检测用户是否在我的服务或接收器中从主目录切换到主目录(它是一个应用程序小部件,发生这种情况时我手头没有 Activity )?
最佳答案
据我所知,没有直接的API 检测 HOME 是在前台还是后台。
但是以下代码 fragment 将告诉您用户当前是否在家。
if (mActivityManager.getRunningTasks().get(0).topActivity.getPackageName().equals("com.android.launcher") {
//home
}
免责声明:以上代码仅适用于默认启动器(com.android.launcher)
。因此,如果用户使用某些第三方启动器,如果您不知道该启动器的包名称,则无法检测到该启动器。
关于android 检测用户从/切换到 HOME,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23237547/