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. 從服務的Android喚醒屏幕
- 4. 喚醒屏幕並在鎖定屏幕上顯示對話框
- 5. Wakup API:喚醒時間不一致
- 6. 當屏幕角度變化時喚醒iOS應用程序?
- 7. 如何在收到通知時喚醒屏幕?
- 8. 接收到通知時的喚醒屏幕
- 9. 屏幕關閉時部分喚醒鎖釋放
- 10. 在特定時間後喚醒線程
- 11. 如果設備檢測到搖動事件,則喚醒屏幕
- 12. AlarmManager只需更新數據而不需要喚醒屏幕
- 13. Android:onRestoreInstanceState在屏幕喚醒(並鎖定)後未調用
- 14. 如何喚醒Android設備並跳過屏幕鎖
- 15. 更改提醒按鈕,以打開屏幕
- 16. 從另一個屏幕打開另一個屏幕
- 17. 喚醒時的zend_auth身份
- 18. OData服務在不使用一段時間後會很慢喚醒
- 19. HTTPWebRequest喚醒WIFI?
- 20. 如何設置Alexa喚醒時間的持續時間?
- 21. 打開屏幕時始終加載MPart
- 22. 獲取計算機的最後一次喚醒時間
- 23. 如何打印電腦喚醒源?
- 24. Android在屏幕上打開
- 25. 如何從掛起模式喚醒後打開顯示器?
- 26. 如何在活動已打開時打開活動屏幕?
- 27. 守護線程以不同的時間間隔喚醒
- 28. 如何喚醒awakefromnib
- 29. iPhone - 在某段時間之後有可能「喚醒」應用程序嗎?
- 30. 局域網喚醒沒有喚醒OSX小牛隊的顯示
聽起來像一個很好的方式來浪費電池:) – zapl 2012-04-25 21:42:05
它是如何幫助我? – dor506 2012-04-25 21:43:34