フォアグラウンド サービスを実行する Android アプリがあり、そのサービスが実行されている間、ユーザーに画面をオンにしておくオプションを提供したいと考えています。
設定の設定にチェックボックスの設定を追加しました。true の場合、画面をオンのままにしたいのですが、デフォルトでオフに設定します。それは私のユーザーが求めていたものです。現在、私は設定をオンにしていますが、サービスを実行すると、画面がまだここで閉じられます。
グローバル変数
private static final String PREFS_DEVICE = "DeviceInfo";
コードと if ステートメント
SharedPreferences settings = getSharedPreferences(PREFS_DEVICE, 0);
if(settings.getBoolean("screenPref", false)) {
final PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
this.mWakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag");
this.mWakeLock.acquire();
}
そして、これをマニフェストに追加しました
<uses-permission android:name="android.permission.WAKE_LOCK" />
私が間違っていることはありますか?サービスからこれを行う別の方法はありますか、それともサービスからは不可能ですか (そうでないことを願っています)。