繁体   English   中英

从睡眠监听器中唤醒

[英]Wake from sleep listener

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

这是整个问题:

  1. 我需要每30分钟刷新一次访问令牌。 因此,如果设备未处于睡眠状态,并且应用处于打开状态(无论是在后台还是在前台),我将每30分钟调用一次刷新令牌方法。

  2. 但是,当设备进入睡眠状态时,不会调用refresh-token方法。

  3. 因此,当电话在一段时间(> 30分钟)后醒来并且用户尝试发出网络请求时,该请求将变得未经授权,因此用户必须再次登录。

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

因此,我想在监听器中调用refresh-token方法来唤醒我的应用程序。 我该如何实现?

您可以使用IntentFilterPowerManager.ACTION_DEVICE_IDLE_MODE_CHANGED注册BroadcastReceiver ,然后可以使用PowerManager.isDeviceIdleMode检查您是否处于睡眠模式,也不要忘记使用PowerManager.isIgnoringBatteryOptimizations(Context)检查您的应用是否在白名单中。

另外,您可以通过以下方式设置定期任务:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM