我在HOME有一个appwidget,并定期更新。如果HOME不可见,我想停止更新。我使用服务来注册屏幕开/关接收器,以便在屏幕打开/关闭时开始/停止更新appwidget。但我不知道如何检测屏幕是否打开但是用户正在关注其他东西(即HOME不在前景)。我如何检测用户是否在我的服务或接收器中切换到HOME(这是一个appwidget,当它发生时我手边没有活动)?
答案 0 :(得分:1)
据我所知,没有直接的API 检测HOME是在前景还是后台。
但是下面的代码片段会告诉您用户当前是否处于HOME状态。
if (mActivityManager.getRunningTasks().get(0).topActivity.getPackageName().equals("com.android.launcher") {
//home
}
免责声明: 以上代码仅适用于默认启动器(com.android.launcher)
。因此,如果用户使用某个第三方启动器,如果您不知道该启动器的包名称,则无法检测到。