我在應用程序中擁有WAKE_LOCK權限,隨後我將其刪除。但是當我的應用程序處於活動狀態時,手機仍然不會關閉屏幕。有沒有其他的設置可能會阻止手機關機?刪除了喚醒鎖,但當應用程序處於活動狀態時,屏幕仍未關閉
回答
有一對夫婦的「設置」,可以防止屏幕進入休眠狀態,根據the docs:
某些應用需要保持屏幕開啓時,如遊戲或電影 應用。這樣做的最好方法是使用您的活動中的 中的FLAG_KEEP_SCREEN_ON(並且只能在活動中使用,而不能在服務或其他 應用程序組件中使用)。例如:
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); }
這種方法的優點是,不像喚醒鎖定(在 討論保持在CPU上),它不需要特別許可,並 平臺正確地管理用戶應用程序之間移動, 沒有你的應用程序需要擔心釋放未使用的資源。
實現這個另一種方式是在應用程序的佈局XML文件 ,使用了android:keepScreenOn屬性:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:keepScreenOn="true"> ... </RelativeLayout>
採用Android:keepScreenOn = 「true」 是等同於使用 FLAG_KEEP_SCREEN_ON。您可以使用最適合您的 應用的方法。在您的 活動中以編程方式設置標誌的優點是,它使您可以選擇稍後以編程方式清除標誌 ,從而允許屏幕關閉。
注意:您不需要清除FLAG_KEEP_SCREEN_ON標誌,除非你 不再需要屏幕停留在你運行應用程序(例如 ,如果你想在屏幕超時的 一段時間後活動)。窗口管理器負責確保在應用程序進入後臺或返回到 前臺時發生正確的事情。但是,如果你想明確地清除該標誌,從而 讓屏幕再次關閉,使用clearFlags():
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON).
激活鎖定是另一種,但既然你已經知道這件事,我不我認爲我需要在這裏提一提。
這很完美 - 謝謝。代碼中正在使用FLAG_KEEP_SCREEN_ON。 – rajath
看到這就是爲什麼你得到了下調票,你應該在問題中提到我已經使用了這個標誌,這可能是問題嗎? –
@SyedNazarMuhammad他不知道問題出在那裏,所以你不能指望他分享那個特定的代碼 –
爲了避免耗盡電池,閒置的Android設備很快就會入睡。但是,有時候應用程序需要喚醒屏幕或CPU並保持清醒狀態才能完成某些工作。
用途:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
這種方法比激活鎖定更加有效和犯規不需要任何許可
,並清除標誌:
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON).
- 1. 當應用程序未處於活動狀態或屏幕關閉狀態時如何恢復下載
- 2. Android,在應用程序的洞中喚醒鎖是否處於活動狀態?
- 3. 設備處於鎖定狀態且屏幕處於關閉狀態時,如何運行我的應用程序?
- 4. 使用corebluetooth關閉應用程序狀態時喚醒iOS應用程序
- 5. 屏幕關閉時部分喚醒鎖釋放
- 6. 應用程序未處於活動狀態時,如何實現隱私屏幕?
- 7. 當應用程序未處於活動狀態時,FileSystemWatcher失敗
- 8. 鎖定後應用程序未處於全屏狀態 - 解鎖
- 9. 當屏幕角度變化時喚醒iOS應用程序?
- 10. 如果我的應用程序處於活動狀態,如何屏蔽主鍵? (屏幕保護程序,鎖屏)
- 11. 使iPad屏幕關閉,但通過觸摸喚醒(無鎖) - - iOS 6.0/openFrameworks
- 12. 當喚醒時自定義鎖定屏幕延遲
- 13. 喚醒處於睡眠狀態的QThread?
- 14. 當屏幕關閉時我的應用程序關閉
- 15. 當關閉屏幕時,應用程序強制關閉
- 16. 屏幕變爲活動狀態時的應用程序事件
- 17. Android:onRestoreInstanceState在屏幕喚醒(並鎖定)後未調用
- 18. 應用程序關閉時的用戶狀態,已刪除iOS
- 19. 當屏幕關閉時重新啓動應用程序
- 20. Android喚醒鎖定強制關閉
- 21. 屏幕鎖定時如何關閉我的iPhone應用程序?
- 22. 如果應用程序未處於活動狀態,則拍照
- 23. 當應用程序變爲活動狀態時顯示iPhone的登錄屏幕
- 24. FIFO調度仍處於關閉狀態?
- 25. 當應用程序加載時激活iPhone鎖定屏幕
- 26. 每當屏幕解鎖時激活應用程序
- 27. 喚醒屏幕並在鎖定屏幕上顯示對話框
- 28. 設備鎖定時iOS應用程序是否處於活動狀態?
- 29. ApplicationHelper的副本已從模塊樹中刪除,但仍處於活動狀態?
- 30. xxx的副本已從模塊樹中刪除但仍處於活動狀態
如果你下來表決權的問題請提供意見說明原因。否則,我不聰明。 – rajath
「有沒有其他的設置可能會阻止手機關機」。在您評論和查看倒票後,我的結論是:您讓人們猜測您可能使用了什麼,而不是顯示您曾經使用過哪些可能導致問題的東西。 –
@SyedNazarMuhammad,如果有人希望我分享3000行代碼,他們很愚蠢,因爲我不知道代碼中的效果是在哪裏。 – rajath