1
A
回答
2
您可以使用AlarmManager。
你触发警报与这样的台词:
Alarm Manager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
pendingServiceIntent = PendingIntent.getService(this.getApplicationContext(), 0,
new Intent(this.getApplicationContext(), DataCollectionService.class), 0);
long intervalInMinutes = 5; // will wake you up every 5 minutes
long triggerAtTime = System.currentTimeMillis() + 1000*60*intervalInMinutes;
alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerAtTime, pendingServiceIntent);
在我来说,我是触发的服务。您可以扩展BroadcastReceiver或任何你想要的。然后,您将使用激活锁定点亮屏幕至少15秒:
powerManager = (PowerManager) getSystemService(POWER_SERVICE);
wL = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK, "LocRepTask");
wL.acquire(); // forces processor to stay awake
// do your stuff.....
wl.release(); // processor no longer awake because of you
您需要许可WAKE_LOCK
在Android清单。
1
为了做到这一点,你必须有一个正在运行的服务,持有partial wake lock。然后,该服务可以在任意时间间隔向广播接收器发出意图并唤醒屏幕。然而,就像评论者所建议的那样,这意味着即使设备屏幕关闭,CPU也必须保持开启状态,这会比待机时更快耗尽电池。 (这本身并不是一个不这样做的理由,只是说你必须权衡考虑因素)
您拥有的其他要求很容易被PowerManager API覆盖 - 希望这足以让您脱离。祝你好运!
相关问题
- 1. 如何在部分唤醒锁定期间打开屏幕
- 2. 屏幕没有在Android中打开唤醒锁定
- 3. 如何用Visual Basic打开/唤醒屏幕
- 4. 从服务的Android唤醒屏幕
- 5. Android:从服务中唤醒屏幕
- 6. 唤醒屏幕并在锁定屏幕上显示对话框
- 7. 编程期间屏幕超时会强制我每按一次唤醒按钮
- 8. Wakup API:唤醒时间不一致
- 9. 当屏幕角度变化时唤醒iOS应用程序?
- 10. 如何在收到通知时唤醒屏幕?
- 11. 屏幕关闭时部分唤醒锁释放
- 12. 接收到通知时的唤醒屏幕
- 13. 当唤醒时自定义锁定屏幕延迟
- 14. 如何使Android后台服务仅在屏幕开启/唤醒时启动
- 15. 机器人:唤醒我想屏幕以30秒(其设定为15秒超时)后唤醒设备
- 16. Windows CE:USB开机时唤醒设备
- 17. 在指定时间唤醒线程
- 18. 在特定时间后唤醒线程
- 19. 从休眠状态中唤醒时打开窗口
- 20. 如果设备检测到摇动事件,则唤醒屏幕
- 21. Android:onRestoreInstanceState在屏幕唤醒(并锁定)后未调用
- 22. Android游戏在唤醒屏幕后崩溃
- 23. AlarmManager只需更新数据而不需要唤醒屏幕
- 24. 如何唤醒Android设备并跳过屏幕锁
- 25. iPhone,iPad唤醒屏幕命令问题/错误
- 26. Android Wear:以编程方式唤醒屏幕
- 27. 屏幕:如何打开备用屏幕?
- 28. 更改提醒按钮,以打开屏幕
- 29. 从另一个屏幕打开另一个屏幕
- 30. 的Android - 唤醒锁定 - 推送通知POST位置接收时屏幕lock'd(parse.com)
听起来像一个很好的方式来浪费电池:) – zapl 2012-04-25 21:42:05
它是如何帮助我? – dor506 2012-04-25 21:43:34