某些應用程式 (例如遊戲或電影應用程式) 需要保持螢幕開啟。 部分 Android API 會自動讓螢幕保持開啟。在其他情況下,您可以設定標記,手動讓螢幕保持開啟。
手動讓螢幕保持開啟
如要讓裝置螢幕保持開啟,請在活動中設定 FLAG_KEEP_SCREEN_ON 旗標。這個旗標只能在活動中設定,不得在服務或其他應用程式元件中設定。例如:
class MainActivity : Activity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_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(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) 清除旗標。
電視微光模式
在電視裝置上,請使用 FLAG_KEEP_SCREEN_ON,防止裝置在播放影片時進入微光模式。如果前景活動未設定 FLAG_KEEP_SCREEN_ON,裝置會在閒置一段時間後自動進入微光模式。