Bu sorunu bugün çözdüm. AndroidManifest.xml dosyasına izni koymak için sahip olduğunuz ilk olarak
:
o dosyaya koymak için kesin bir yerdir
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
?
<manifest>
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<application>
<activity />
</application>
</manifest>
Bu izin, diğer uygulamaları da etkileyen ayarları değiştirmenize izin verildiğini söylüyor.
Şimdi üzerinde ve
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC); //this will set the automatic mode on
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL); //this will set the manual mode (set the automatic mode off)
kapalı parlaklık otomatik mod otomatik mod üzerinde veya şu anda kapalı mı ayarlayabilirsiniz?el parlaklığını değiştirmek isterseniz,
int mode = -1;
try {
mode = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE); //this will return integer (0 or 1)
} catch (Exception e) {}
Yani bilgi alabilir, önce manuel modunu ayarlamak gerekiyor ve bundan sonra parlaklığını değiştirebilir.
not: SCREEN_BRIGHTNESS_MODE_AUTOMATIC 1
notudur: SCREEN_BRIGHTNESS_MODE_MANUAL 0
Şimdi el parlaklığını değiştirebilir yerine bu
if (mode == 1) {
//Automatic mode
} else {
//Manual mode
}
bu
if (mode == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC) {
//Automatic mode
} else {
//Manual mode
}
kullanmalıdır olduğunu
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, brightness); //brightness is an integer variable (0-255), but dont use 0
ve parlaklık
try {
int brightness = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS); //returns integer value 0-255
} catch (Exception e) {}
Şimdi her şey doğru ayarlanmış olduğundan okumak, ama ... Henüz değişikliği göremez. Değişikliği görmek için bir şey daha lazım!
try {
int br = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS); //this will get the information you have just set...
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = (float) br/255; //...and put it here
getWindow().setAttributes(lp);
} catch (Exception e) {}
izni unutma ...
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
sen uğraş olan bu http:/ yüzden bunu ... ekranı yenile /stackoverflow.com/questions/3865883/changing-screen-brightness-in-android-emulator eğer özel parlaklık proprety değiştirmek – PedroAGSantos