从睡眠听众醒来

时间:2016-11-18 13:50:53

标签: android oauth sleep wakelock

当Android设备从睡眠状态唤醒时,我想在我的应用程序中调用一个方法。

以下是整个问题:

  1. 我需要每30分钟刷新一次访问令牌。因此,如果设备没有休眠,并且应用程序已打开(无论是在后台还是前台),我将每隔30分钟调用一次刷新令牌方法。

  2. 但是当设备进入休眠状态时,不会调用刷新令牌方法。

  3. 因此,当手机在一段时间后(> 30分钟)唤醒并且用户尝试网络请求时,这将是未经授权的,用户将不得不再次登录。

  4. 由于我不希望用户再次登录,我想在设备从睡眠模式唤醒后立即申请刷新令牌。

  5. 因此,我想在监听器中调用刷新令牌方法来唤醒我的应用程序。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

您可以为[{1}}注册BroadcastReceiver IntentFilter,然后使用PowerManager.ACTION_DEVICE_IDLE_MODE_CHANGED检查您是否处于睡眠模式,也不要忘记使用PowerManager.isDeviceIdleMode检查您的应用是否在白名单中。

或者,您可以使用以下命令设置定期任务: