मैंने आज इस समस्या को हल किया है।
पहले आप अपनी AndroidManifest.xml फ़ाइल में एक अनुमति डाल करने के लिए के रूप में:
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
कहाँ यह फाइल में डाल करने के लिए सही जगह है?
<manifest>
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<application>
<activity />
</application>
</manifest>
यह अनुमति कहती है कि आपको अन्य एप्लिकेशन को प्रभावित करने वाली सेटिंग्स को बदलने की अनुमति है।
अब आप पर और
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)
बंद चमक स्वचालित मोड स्वचालित मोड पर या अभी बंद कर दिया है निर्धारित कर सकते हैं?आप चमक मैन्युअल रूप से बदलना चाहते हैं तो आप
int mode = -1;
try {
mode = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE); //this will return integer (0 or 1)
} catch (Exception e) {}
तो जानकारी प्राप्त कर सकते,, आपको पहले मैनुअल मोड सेट करने के लिए की अपेक्षा की जाती है और उसके बाद आप चमक बदल सकते हैं।
ध्यान दें: SCREEN_BRIGHTNESS_MODE_AUTOMATIC 1
टिप्पणी है: SCREEN_BRIGHTNESS_MODE_MANUAL 0
आप इस
if (mode == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC) {
//Automatic mode
} else {
//Manual mode
}
इस
if (mode == 1) {
//Automatic mode
} else {
//Manual mode
}
के बजाय
का उपयोग करना चाहिए अब आप मैन्युअल रूप से चमक बदल सकते हैं
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, brightness); //brightness is an integer variable (0-255), but dont use 0
और पढ़ने चमक
try {
int brightness = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS); //returns integer value 0-255
} catch (Exception e) {}
अब सब कुछ ठीक से सेट किया गया है, लेकिन ... आप अभी तक परिवर्तन नहीं देख सकता। परिवर्तन देखने के लिए आपको एक और चीज़ चाहिए! स्क्रीन रिफ्रेश ... इसलिए ऐसा करते हैं:
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) {}
अनुमति मत भूलना ...
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
आप tryed है इन http://stackoverflow.com/questions/3865883/changing-screen-brightness-in-android-emulator किनारे पर नहीं है अगर कस्टम कस्टम प्रॉपर्टी – PedroAGSantos