2016-09-16 13 views
0

ユーザーがボタンをクリックすると、画面をオフにしたいと考えています。私はPowerManagerクラスでそれをやろうとしていますが、良い結果は得られません。どのようなアンドロイドで画面をオフにする最良の方法は何ですか?Androidで画面をプログラムでオフにするにはどうすればよいですか?

私は以下のコード使用しています:

PowerManager pm = (PowerManager)this.getSystemService(
      Context.POWER_SERVICE); 
    PowerManager.WakeLock wl = pm.newWakeLock(
      PowerManager.PARTIAL_WAKE_LOCK, 
      ""); 
    wl.acquire(); 

をしかし、唯一、このコード作業:0〜

WindowManager.LayoutParams params = getWindow().getAttributes(); 
    params.flags = WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON; 
    params.screenBrightness = 0; 
    getWindow().setAttributes(params); 

しかし、このコードのみ設定明るさをしかしなし画面を消す。

ありがとうございます。

+0

デバイスの電源を切ったりロックしたりしますか? – Aspicas

+0

http://stackoverflow.com/a/30365638/2633909これをチェック – DKV

+0

[Android:プログラムをオン/オフする方法は?](http://stackoverflow.com/questions/9561320/android-how-ターン・オン・スクリーン・オン・アンド・オフ・プログラムによる) –

答えて

2

システム画面の消灯時間を無効にすると、画面をオフにすることができます。

まずGETシステムオフ時

int defaultTurnOffTime = Settings.System.getInt(getContentResolver(),Settings.System.SCREEN_OFF_TIMEOUT, 60000); 

は、時間

Settings.System.putInt(getContentResolver(),Settings.System.SCREEN_OFF_TIMEOUT, 1000); 

離れてあなたのターンを入れて、画面がオフになったときに、設定されているデフォルトでは、時間

Settings.System.putInt(getContentResolver(),Settings.System.SCREEN_OFF_TIMEOUT, defaultTurnOffTime); 

アドオンを無効にします以下の許可

<uses-permission android:name="android.permission.WRITE_SETTINGS"/> 
関連する問題