逆引きAndroid入門 画面をスリープ状態にさせないためには

画面をスリープ状態にさせないためには

android.appパッケージ - Activityクラス、
android.viewパッケージ - Windowクラス、
android.viewパッケージ - WindowManager.LayoutParamsクラスを使用します。

 

  • Activity.getWindow()などで取得したWindowインスタンスに対して、
    Window.addFlags(WindowManager.LayoutParams.FLAG_FLAG_KEEP_SCREEN_ON)を呼び出すと、
    画面がスリープ状態になりません
  • 上記を解除するには、Window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
    を呼び出すだけです
  • プレインストールされているCameraアプリでも、この機能が使用されています

 

サンプルソースコード

package coom.adakoda.keepscreentest;

import android.app.Activity;
import android.os.Bundle;
import android.view.WindowManager;

public class KeepScreenTestActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        // Keep screen on
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);        
        
//      // Keep screen off
//      getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);        
        
        setContentView(R.layout.main);
    }
}