[英]How to shift device in Doze Mode (Android Preview M / Marshmallow)?
[英]Android M: How to programmatically disable doze mode
我有一個前台通知服務,它使用 ActivityRecognition 持續監控用戶的操作,並在用戶狀態發生變化時將它們寫入 AWS。 一段時間后效果很好。 但是我注意到當用戶空閑時間較長時,例如用戶整夜睡覺,然后應用程序(活動和服務)默默地死了。 我認為這是因為打盹模式(因為我在另一部手機上將同一個應用程序列入白名單,現在它可以正常工作超過 2 天)
如何在打盹模式下將應用列入白名單 Android 6.0很好地概述了如何通過用戶干預禁用打盹模式。 但下面的@commonsware 博客建議谷歌“可能”禁止顯示相應彈出框的應用程序https://commonsware.com/blog/2015/11/11/google-anti-trust-issues.html
Note: Google Play policies prohibit apps from requesting direct exemption from Power Management features in Android 6.0+ (Doze and App Standby) unless the core function of the app is adversely affected.
有人可以幫助我了解哪些功能可能包含“核心功能”,因此 Google 不會禁止我的應用程序。 我們知道打盹模式不會影響某些應用程序,例如 WhatsApp
編輯
我在 6.0.1 的三星手機上看到了這個
Android 不會使用 Doze 在后台終止服務。 根據ActivityRecognitionApi 文檔:
為了節省電池電量,當設備長時間處於“靜止”狀態時,活動報告可能會停止。 一旦設備再次移動,它將恢復。 這只發生在支持 Sensor.TYPE_SIGNIFICANT_MOTION 硬件的設備上。
因此,預計在很長一段時間內您都不會收到任何活動識別回調。 在這些情況下,您可以假設上次收到的活動 ( STILL
) 仍然適用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.