讓螢幕保持開啟

某些應用程式 (例如遊戲或電影應用程式) 需要保持螢幕開啟。部分 Android API 會自動讓螢幕保持開啟狀態。在其他情況下,您可以設定標記,手動保持螢幕開啟。

手動讓螢幕保持開啟

如要讓裝置螢幕保持開啟,請在活動中設定 FLAG_KEEP_SCREEN_ON 標記。這個標記只能在活動中設定,絕不能在服務或其他應用程式元件中設定。例如:

Kotlin

class MainActivity : Activity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
    }
}

Java

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);
  }
}

另一種讓螢幕保持開啟的方式,是在應用程式的版面配置 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,裝置會在一段時間未使用後自動進入微光模式。

另請參閱