मैं बस ऑटो चमक को चालू और बंद करने की कोशिश कर रहा हूं। मैंऑटो चमक को चालू और बंद कैसे करें? (दोहराना नहीं)
final ToggleButton autoBrightToggle = (ToggleButton) findViewById(R.id.brightToggle);
// display auto brightness state
final ToggleButton autoBrightToggle = (ToggleButton) findViewById(R.id.autoToggle);
autoOnOrOff.setText(String.valueOf(getAutoBrightnessMode()));
autoBrightToggle.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (autoBrightToggle.isChecked()) {
setAutoBright(true);
} else {
setAutoBright(false);
}
}
}); // end anonymous OnClickListener function
// toggle the brightness mode
private void setAutoBright(boolean mode) {
if (mode) {
Settings.System.putInt(cr, SCREEN_BRIGHTNESS_MODE, SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
autoOnOrOff.setText(String.valueOf(getAutoBrightnessMode()));
} else {
Settings.System.putInt(cr, SCREEN_BRIGHTNESS_MODE, SCREEN_BRIGHTNESS_MODE_MANUAL);
autoOnOrOff.setText(String.valueOf(getAutoBrightnessMode()));
}
}
कौन सा काम करने के लिए प्रतीत नहीं होता है इस कोड (onCreate विधि के अंदर) के साथ शुरू कर दिया। SetAutoBrightnessMode() विधि को फिर से रेस्यूम() में भी कहा जाता है लेकिन उसी गैर-परिणाम के साथ। वैसे भी, मुझे खेद है अगर किसी को लगता है कि यह सवाल अनावश्यक है लेकिन अन्य पोस्ट मुझे नहीं मिला जहां मुझे जाना है!
(Fwiw - मैं अपने पुराने Droid एक्स और मेरी Galaxy Nexus के इस परीक्षण कर रहा हूँ, एम्यूलेटर नहीं)
संपादित - इस को अपडेट: मुझे यकीन है कि अब है कि मैं किसी भी नहीं दिखाई दे रहा 99% कर रहा हूँ सेटिंग पैनल और डेस्कटॉप विगेट्स में प्रतिबिंबित ऑटो-ब्राइटनेस मोड में परिवर्तन - भले ही मैं वास्तव में इसका मूल्य बदल सकता हूं। समस्या का हिस्सा यह है कि मुझे नहीं पता कि ऑटो-ब्राइटनेस चालू है या नहीं, तो को निर्धारित करने के लिए बिल्कुल सही कैसे है!
उदाहरण के लिए, बदलने के जल्दी और दिख स्क्रीन करता है? मैं पर्यावरण के अनुसार चमक में तत्काल दृश्य परिवर्तन की उम्मीद कर रहा हूं - लेकिन शायद बदलाव सूक्ष्म हैं? और एक लंबी अवधि में? या शायद चमक परिवर्तन से पहले 30 सेकंड या उससे अधिक पर्यावरण परिवर्तन लेता है?
क्या कोई सुझाव दे सकता है कि मैं इसे कैसे ट्रैक कर सकता हूं? मैं Settings.System.SCREEN_BRIGHTNESS_MODE निरंतर क्वेरी करने की है की कोशिश की - किसी पाठ फ़ील्ड के लिए इस विधि को hooking:
private int getAutoBrightnessMode() {
try {
int brightnessMode = Settings.System.getInt(cr, SCREEN_BRIGHTNESS_MODE);
} catch (Settings.SettingNotFoundException e) {
e.printStackTrace();
int brightnessMode = -10000;
}
return brightnessMode;
}
लेकिन यह हमेशा 0 पढ़ता एक onResume() के बाद भी। : - ((
मैं जानता हूँ कि यह एक सरल प्रक्रिया है, लेकिन मैं अपने दम पर इस सामग्री को जानने के लिए कोशिश कर रहा हूँ, और लगभग कोई औपचारिक सीएस प्रशिक्षण पड़ा है ... इसलिए सभी मैं कह सकता है मैं बहुत हूँ इस से निराश और लगता है कि मैं अपने आप को एक कोने में और इस बिंदु पर काम किया है मैं बहुत नाराज मैं सीधे अब और नहीं सोच सकता हूँ।
तो मदद बहुत अच्छा होगा।
कुछ भी नहीं ?? मैं उम्मीद कर रहा था कि यह कुछ आसान था! –
मुझे लगता है कि आपको एंड्रॉइड मेनिफेस्ट में उचित अनुमतियां देनी होंगी (उदा। 'Android.permission.WRITE_SETTINGS') भी। –
धन्यवाद - मैंने ऐसा किया था। इसका उल्लेख करना चाहिए था। –