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