空のアクティビティでターゲット API 15 (ICS) を使用して新しいプロジェクトを作成しました。マニフェストに許可を追加しました:
<uses-permission android:name="android.permission.WAKE_LOCK" />
にコードを追加しましたonCreate():
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
PowerManager pm = (PowerManager) getSystemService(getApplicationContext().POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Tag");
wl.acquire();
WindowManager.LayoutParams params = getWindow().getAttributes();
params.flags |= WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0;
getWindow().setAttributes(params);
}
しかし、デバイスでは何も起こりません。PowerManager のドキュメントによると、画面が (すぐに) 消えると予想していました。それで、私は何か間違ったことをしていますか、それともこれは機能していませんか?
編集:
WakeLock を取得した後に手動で設定する Ashish Ranjan の提案を試みscreenBrightnessましたが、これも機能しません。