我有一個ProgressDialog正在運行,並且我不希望在ProgressDialog運行時屏幕熄滅。我應該使用什麼?我應該使用Windows功能還是類似的?如何使用ProgressDialog保持屏幕?
回答
我找到了解決方案。
你應該使用類似的東西:
progressDialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
爲我工作。
某些應用需要保持屏幕打開狀態,例如遊戲或電影應用。做到這一點的最佳方式是在您的活動中使用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);
}
這種方法的優點是,不像喚醒鎖定(在Keep the CPU On討論),它不需要特殊的權限,平臺正確管理用戶應用程序之間移動,而無需您的應用程序需要以擔心釋放未使用的資源。
另一種方式來實現,這是在應用程序的佈局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).
多見於:http://developer.android.com/training/scheduling/wakelock.html#screen
明白了。但是我不能在對話框中使用該標誌嗎?因爲我想讓對話框打開屏幕,而不是活動。 – Jonas452
,鍵入以下行onCreate方法
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
這將使我的活動使屏幕,而不是ProgressDialog。 – Jonas452
- 1. 如何保持android屏幕大小?
- 2. 如何在網頁上保持屏幕
- 3. 如何在Android上保持屏幕?
- 4. 如何設置保持屏幕和全屏幕標誌?
- 5. ProgressDialog涵蓋整個屏幕
- 6. 屏幕方向和ProgressDialog
- 7. Android如何在使用webView時保持屏幕狀態
- 8. 屏幕保持終止
- 9. 保持在的LinearLayout屏幕
- 10. Android:保持屏幕上
- 11. 保持屏幕打開
- 12. 如何使用引腳和間距將屏幕中心保持在與屏幕尺寸無關的屏幕上
- 13. 防止android ProgressDialog黑屏整個屏幕
- 14. 使屏幕保持活動狀態
- 15. 如果玩家保持屏幕跳高
- 16. 我的應用程序保持屏幕
- 17. Android保持屏幕在應用程序
- 18. 如何使屏幕尺寸保持不變
- 19. 如何讓屏幕保持特定的持續時間?
- 20. 如何使ui支持所有屏幕?
- 21. 屏幕支持xlarge屏幕?
- 22. 在使用屏幕鍵盤時保持輸入字段在屏幕中
- 23. ,如何在大屏幕和小屏幕中保持「相同」的填充?
- 24. 登錄屏幕顯示progressdialog並允許屏幕方向更改
- 25. 如何將屏幕保持在我的應用程序中?
- 26. 如何保持屏幕上組件佔用空間的比例
- 27. 如何在使用拖動解除拖動時使inputAccessoryView保持在屏幕上?
- 28. 屏幕鎖定後ProgressDialog消除器
- 29. 旋轉屏幕後ProgressDialog消失
- 30. 解僱ProgressDialog後點亮屏幕
你可以在任何視圖上使用setKeepScreenOn(布爾標誌)。 – NaserShaikh