私の電話で明るさのモードと値を変更しようとしていますが、私の質問に答えたと思われるgreat thread here at SOが見つかりましたが、コードは単純に何もしません。 putInt()はtrueを返すので、成功したように見えるすべてのアカウントで、明るさはまったく同じですが、手動と自動の切り替えもできません...... WRITE_SETTINGS権限が設定されていて、logcat他の関連する出力が出て来ていないようです....今すぐ困って、しばらく休みを取るo_0Settings.System.putInt()経由で明るさを設定していません
ここに私がそれを呼んでいるスニペットがあります。これは私のアクティビティ:
public void onCheckedChanged(RadioGroup group, int checked) {
//BrightSettings bright = new BrightSettings();
switch(checked)
{
case R.id.daybutton:
//bright.setBrightMode(BrightSettings.DAY_MODE);
if(Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC))
Log.d("NightMode", "Brightness seems to be set to auto....");
case R.id.nightbutton:
//bright.setBrightMode(BrightSettings.NIGHT_MODE);
if (Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL) && Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, 2))
Log.d("NightMode", "Night mode seems to have been set....");
}
}
あなたは 'MODIFY_PHONE_STATE'権限を持っていますか?私はまずそれをチェックするだろう。 –
私はMODIFY_PHONE_STATEがどのように関連しているかわかりませんが、それは電話の状態を制御しますが、私はそのショットを与えました。成功すればputInt()がtrueを返すので、私は本当に混乱しています。ifステートメントがtrueであることを示すデバッグメッセージが表示されているので、それはちょっと変です。 – jamzsabb
私は同じ問題があるけれども、提案に感謝します。 Galaxy Tabのような一部のデバイスは、自動的に設定を読み直して適用します。他のデバイスは、srcreenがロックされた後、またはデバイスが再起動した後にのみ設定を適用します。 – Janusz