ボタンをクリックすると画面がオフになり、2 秒後に再びオンになるアクティビティを書きたいと思います。画面の電源を切るために、次のコードを使用してみました。
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = 0/(float)255;
getWindow().setAttributes(lp);
ただし、onClick関数が戻ったときにのみ有効になります。ハンドラーに実行しようとしましたが、成功しませんでした。同じ onClick 呼び出しで 2 秒後に電源オン関数を呼び出せるように、関数が戻る前に設定を強制的に適用する方法を見つける必要があります。
また、後でデバイスをウェイクアップするのが非常に難しいこともわかりました。このコードは、物理ボタンを使用して画面の電源をオフにすると機能しますが、前述の手法を使用して電話の電源をオフにすると機能しないようです。
PowerManager pm = (PowerManager)this.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK|PowerManager.ACQUIRE_CAUSES_WAKEUP |
PowerManager.ON_AFTER_RELEASE ,"Dev Tag");
try
{
wl.acquire();
wl.release();
}
catch (Exception e)
{
Toast.makeText(this, e.getMessage(),20).show();
}
よろしくお願いします。