当Android设备从睡眠状态唤醒时,我想在我的应用程序中调用一个方法。
以下是整个问题:
我需要每30分钟刷新一次访问令牌。因此,如果设备没有休眠,并且应用程序已打开(无论是在后台还是前台),我将每隔30分钟调用一次刷新令牌方法。
但是当设备进入休眠状态时,不会调用刷新令牌方法。
因此,当手机在一段时间后(> 30分钟)唤醒并且用户尝试网络请求时,这将是未经授权的,用户将不得不再次登录。
由于我不希望用户再次登录,我想在设备从睡眠模式唤醒后立即申请刷新令牌。
因此,我想在监听器中调用刷新令牌方法来唤醒我的应用程序。我怎样才能做到这一点?
答案 0 :(得分:2)
您可以为[{1}}注册BroadcastReceiver
IntentFilter
,然后使用PowerManager.ACTION_DEVICE_IDLE_MODE_CHANGED
检查您是否处于睡眠模式,也不要忘记使用PowerManager.isDeviceIdleMode
检查您的应用是否在白名单中。
或者,您可以使用以下命令设置定期任务: