डिटैचेबल कीबोर्ड के कॉन्फ़िगरेशन में किए गए बदलावों को मैनेज करना

जब भी किसी कीबोर्ड को डिवाइस से जोड़ा या हटाया जाता है, तब Android सिस्टम कॉन्फ़िगरेशन में बदलाव करता है. डिटैचेबल कीबोर्ड वाले बड़े स्क्रीन वाले डिवाइसों पर, उपयोगकर्ताओं को बेहतर अनुभव देने और उनकी प्रोडक्टिविटी बढ़ाने के लिए, आपके ऐप्लिकेशन को कीबोर्ड के कॉन्फ़िगरेशन में होने वाले बदलावों को असरदार तरीके से मैनेज करना होगा.

कीबोर्ड बदलने पर गतिविधि को फिर से शुरू होने से रोकना

डिटैचेबल कीबोर्ड को अटैच या डिटैच करने पर, अपनी गतिविधि को फिर से बनाने से रोकने के लिए, अपने ऐप्लिकेशन मेनिफ़ेस्ट के configChanges एट्रिब्यूट में कीबोर्ड से जुड़ी वैल्यू जोड़ें. साथ ही, गतिविधि की व्यू हैरारकी में एक व्यू जोड़ें, ताकि आपका ऐप्लिकेशन कॉन्फ़िगरेशन में हुए बदलावों को सुन सके.

1. configChanges एट्रिब्यूट की वैल्यू सबमिट करना

पहले से मैनेज किए जा रहे कॉन्फ़िगरेशन में हुए बदलावों की सूची में keyboard|keyboardHidden वैल्यू जोड़कर, ऐप्लिकेशन मेनिफ़ेस्ट में <activity> एलिमेंट को अपडेट करें:

<activity
    ...
    android:configChanges="...|keyboard|keyboardHidden">

2. व्यू हैरारकी में खाली व्यू जोड़ना

नया व्यू बनाएं और व्यू के onConfigurationChanged() तरीके में अपना हैंडलर कोड जोड़ें:

KotlinJava
val v = object : View(this) {
    override fun onConfigurationChanged(newConfig: Configuration?) {
        super.onConfigurationChanged(newConfig)
        // Handler code here.
    }
}
View v = new View(this) {
    @Override
    protected void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        // Handler code here.
    }
};

प्रमुख बिंदु

  • android:configChanges: ऐप्लिकेशन मेनिफ़ेस्ट के <activity> एलिमेंट का एट्रिब्यूट. सिस्टम को कॉन्फ़िगरेशन में हुए उन बदलावों के बारे में बताता है जिन्हें ऐप्लिकेशन मैनेज करता है.
  • View#onConfigurationChanged() : वह तरीका जो नए ऐप्लिकेशन कॉन्फ़िगरेशन के प्रॉपेगेशन पर प्रतिक्रिया देता है.

नतीजे

अब आपका ऐप्लिकेशन, किसी बाहरी कीबोर्ड के कनेक्ट या डिसकनेक्ट होने पर, फिर से गतिविधि शुरू किए बिना जवाब देता है.

ऐसे संग्रह जिनमें यह गाइड शामिल है

यह गाइड, चुने गए क्विक गाइड के कलेक्शन का हिस्सा है. इसमें Android डेवलपमेंट के बड़े लक्ष्यों के बारे में बताया गया है:

अपने ऐप्लिकेशन को टैबलेट, फ़ोल्ड किए जा सकने वाले डिवाइसों, और ChromeOS डिवाइसों पर ऑप्टिमाइज़ किया गया उपयोगकर्ता अनुभव देने के लिए चालू करें.

क्या आपका कोई सवाल है या सुझाव/राय देनी है

अक्सर पूछे जाने वाले सवालों के पेज पर जाएं और क्विक गाइड के बारे में जानें. इसके अलावा, हमसे संपर्क करके अपने सुझाव/राय दें.