पिछले पेज पर वापस जाने के जेस्चर का इस्तेमाल करने की सुविधा जोड़ें

पहली इमेज. फ़ोन पर, अनुमान लगाकर बैक जेस्चर की सुविधा के लुक और फ़ील का मॉकअप

हाथ के जेस्चर से नेविगेट करने की सुविधा, 'पीछे जाने पर झलक दिखाने वाला जेस्चर' की मदद से उपयोगकर्ताओं को यह देखने की सुविधा मिलती है कि पीछे की ओर स्वाइप करने पर वे कहां पहुंचेंगे.

उदाहरण के लिए, पिछले पेज पर जाने के लिए हाथ के जेस्चर का इस्तेमाल करने पर, आपके ऐप्लिकेशन के पीछे मौजूद होम स्क्रीन की ऐनिमेशन वाली झलक दिख सकती है. पहली इमेज में दिए गए मॉकअप में इसे दिखाया गया है.

Android 15 से, प्रिडिक्टिव बैक ऐनिमेशन के लिए डेवलपर विकल्प उपलब्ध नहीं है. सिस्टम ऐनिमेशन, जैसे कि होम स्क्रीन पर वापस जाना, एक टास्क से दूसरे टास्क पर जाना, और एक गतिविधि से दूसरी गतिविधि पर जाना. ये ऐनिमेशन अब उन ऐप्लिकेशन के लिए दिखते हैं जिन्होंने पूरे ऐप्लिकेशन या गतिविधि के लेवल पर, अनुमान लगाने वाले बैक जेस्चर की सुविधा के लिए ऑप्ट-इन किया है.

इस पेज के अगले सेक्शन में बताए गए तरीके से, होम पेज पर वापस जाने वाले इस ऐनिमेशन की जांच की जा सकती है.

बैक जेस्चर की सुविधा के साथ काम करने के लिए, आपको अपने ऐप्लिकेशन को अपडेट करना होगा. इसके लिए, OnBackPressedCallback AppCompat 1.6.0-alpha05 (AndroidX) या इसके बाद के वर्शन वाले एपीआई का इस्तेमाल करें. यह एपीआई, पिछले वर्शन के साथ काम करता है. इसके अलावा, नए OnBackInvokedCallback प्लैटफ़ॉर्म एपीआई का इस्तेमाल भी किया जा सकता है. ज़्यादातर ऐप्लिकेशन, पुराने सिस्टम के साथ काम करने वाले AndroidX API का इस्तेमाल करते हैं.

इस अपडेट में, बैक नेविगेशन को सही तरीके से इंटरसेप्ट करने के लिए माइग्रेशन का तरीका बताया गया है. इसमें KeyEvent.KEYCODE_BACK और onBackPressed तरीकों वाली किसी भी क्लास, जैसे कि Activity और Dialog से बैक इंटरसेप्शन को नए सिस्टम के बैक एपीआई से बदलना शामिल है.

कोडलैब और Google I/O वीडियो

इस पेज पर दिए गए दस्तावेज़ का इस्तेमाल करने के साथ-साथ, हमारे कोडलैब को आज़माएं. यह AndroidX Activity API का इस्तेमाल करके, WebView में अनुमानित बैक जेस्चर को हैंडल करने के लिए, इस्तेमाल के सामान्य उदाहरण को लागू करता है.

AndroidX और प्लैटफ़ॉर्म एपीआई लागू करने के अन्य उदाहरणों के बारे में जानने के लिए, हमारा Google I/O वीडियो देखें.

डिफ़ॉल्ट बैक नेविगेशन का इस्तेमाल करने वाले ऐप्लिकेशन को अपडेट करना

अनुमान लगाकर पीछे जाने की सुविधा डिफ़ॉल्ट रूप से चालू होती है.

अगर आपका ऐप्लिकेशन फ़्रैगमेंट या नेविगेशन कॉम्पोनेंट का इस्तेमाल करता है, तो उसे AndroidX Activity 1.6.0-alpha05 या इसके बाद वाले वर्शन पर अपग्रेड करें.

कस्टम बैक नेविगेशन का इस्तेमाल करने वाले ऐप्लिकेशन को अपडेट करना

अगर आपके ऐप्लिकेशन में कस्टम बैक बिहेवियर लागू किया गया है, तो माइग्रेट करने के अलग-अलग तरीके हैं. ये तरीके इस बात पर निर्भर करते हैं कि ऐप्लिकेशन में AndroidX का इस्तेमाल किया गया है या नहीं और बैक नेविगेशन को कैसे हैंडल किया जाता है.

आपका ऐप्लिकेशन AndroidX का इस्तेमाल करता है आपका ऐप्लिकेशन, बैक नेविगेशन को कैसे मैनेज करता है माइग्रेशन का सुझाया गया तरीका (इस पेज पर मौजूद लिंक)
हां AndroidX API AndroidX बैकपोर्ट के मौजूदा वर्शन को माइग्रेट करना
ऐसे प्लैटफ़ॉर्म एपीआई जिनका इस्तेमाल नहीं किया जा सकता AndroidX के ऐसे ऐप्लिकेशन को AndroidX API में माइग्रेट करना जिनमें बैक नेविगेशन के लिए काम न करने वाले एपीआई शामिल हैं
नहीं ऐसे प्लैटफ़ॉर्म एपीआई जो काम नहीं करते, लेकिन माइग्रेट किए जा सकते हैं बैक नेविगेशन के लिए काम न करने वाले एपीआई का इस्तेमाल करने वाले ऐप्लिकेशन को प्लैटफ़ॉर्म एपीआई पर माइग्रेट करना
ऐसे प्लैटफ़ॉर्म एपीआई जो काम नहीं करते, लेकिन माइग्रेट नहीं किए जा सकते कुछ समय के लिए ऑप्ट आउट करने के लिए, अपने ऐप्लिकेशन की AndroidManifest.xml फ़ाइल के <application> या <activity> टैग में, android:enableOnBackInvokedCallback एट्रिब्यूट की वैल्यू false पर सेट करें.

AndroidX बैक नेविगेशन को लागू करने की सुविधा माइग्रेट करना

इस तरह के इस्तेमाल के मामले सबसे ज़्यादा होते हैं. साथ ही, हम भी इसका सुझाव देते हैं. यह उन नए या मौजूदा ऐप्लिकेशन पर लागू होता है जो OnBackPressedDispatcher का इस्तेमाल करके, कस्टम जेस्चर नेविगेशन हैंडलिंग लागू करते हैं. इसके बारे में कस्टम बैक नेविगेशन उपलब्ध कराना लेख में बताया गया है.

यह पक्का करने के लिए कि OnBackPressedDispatcher का इस्तेमाल करने वाले एपीआई (जैसे कि फ़्रैगमेंट और नेविगेशन कॉम्पोनेंट) अनुमानित बैक जेस्चर के साथ आसानी से काम करें, AndroidX Activity 1.6.0-alpha05 पर अपग्रेड करें.

```xml
// In your build.gradle file:
dependencies {

// Add this in addition to your other dependencies
implementation "androidx.activity:activity:1.6.0-alpha05"
```

AndroidX के ऐसे ऐप्लिकेशन को AndroidX API पर माइग्रेट करें जिनमें बैक नेविगेशन के ऐसे एपीआई शामिल हैं जो काम नहीं करते

अगर आपका ऐप्लिकेशन AndroidX लाइब्रेरी का इस्तेमाल करता है, लेकिन इसमें ऐसे बैक नेविगेशन एपीआई लागू किए गए हैं या उनका रेफ़रंस दिया गया है जो काम नहीं करते, तो आपको AndroidX एपीआई का इस्तेमाल करना होगा. इससे, नए व्यवहार को सपोर्ट किया जा सकेगा.

काम न करने वाले एपीआई को AndroidX API में माइग्रेट करने के लिए:

  1. अपने सिस्टम के बैक हैंडलिंग लॉजिक को AndroidX के OnBackPressedDispatcher पर माइग्रेट करें. इसके लिए, OnBackPressedCallback को लागू करें. ज़्यादा जानकारी के लिए, बैक नेविगेशन की सुविधा को पसंद के मुताबिक बनाएं लेख पढ़ें.

  2. 'वापस जाएं' जेस्चर को इंटरसेप्ट करना बंद करने के लिए, OnBackPressedCallback को बंद करें.

  3. OnBackPressed या KeyEvent.KEYCODE_BACK के ज़रिए, बैक इवेंट को इंटरसेप्ट करना बंद करें.

  4. पक्का करें कि आपने AndroidX Activity 1.6.0-alpha05 पर अपग्रेड किया हो.

    // In your build.gradle file:
    dependencies {
    
    // Add this in addition to your other dependencies
    implementation "androidx.activity:activity:1.6.0-alpha05"
    

बैक नेविगेशन के लिए काम न करने वाले एपीआई का इस्तेमाल करने वाले ऐप्लिकेशन को प्लैटफ़ॉर्म एपीआई पर माइग्रेट करना

अगर आपका ऐप्लिकेशन AndroidX लाइब्रेरी का इस्तेमाल नहीं कर सकता और इसके बजाय, काम न करने वाले एपीआई का इस्तेमाल करके कस्टम बैक नेविगेशन लागू करता है या उसका रेफ़रंस देता है, तो आपको OnBackInvokedCallback प्लैटफ़ॉर्म एपीआई पर माइग्रेट करना होगा.

जिन एपीआई का इस्तेमाल नहीं किया जा सकता उन्हें प्लैटफ़ॉर्म एपीआई पर माइग्रेट करने के लिए, यह तरीका अपनाएं:

  1. Android 13 या इसके बाद के वर्शन वाले डिवाइसों पर, नए OnBackInvokedCallback एपीआई का इस्तेमाल करें. साथ ही, Android 12 या इससे पहले के वर्शन वाले डिवाइसों पर, काम न करने वाले एपीआई का इस्तेमाल करें.

  2. onBackInvokedDispatcher की मदद से, OnBackInvokedCallback में बैक बटन के लिए पसंद के मुताबिक लॉजिक रजिस्टर करें. इससे मौजूदा ऐक्टिविटी पूरी नहीं होती है. साथ ही, जब उपयोगकर्ता सिस्टम के बैक नेविगेशन को पूरा कर लेता है, तब आपके कॉलबैक को 'वापस जाएं' कार्रवाई पर प्रतिक्रिया देने का मौका मिलता है.

  3. जब आपको वापस जाने के लिए किए गए जेस्चर को इंटरसेप्ट करना बंद करना हो, तब OnBackInvokedCallback को अनरजिस्टर करें. ऐसा न करने पर, सिस्टम के बैक नेविगेशन का इस्तेमाल करते समय उपयोगकर्ताओं को अनचाहा व्यवहार दिख सकता है. उदाहरण के लिए, व्यू के बीच "अटक जाना" और उन्हें आपका ऐप्लिकेशन बंद करने के लिए मजबूर करना.

    यहां onBackPressed से लॉजिक को माइग्रेट करने का एक उदाहरण दिया गया है:

    Kotlin

    @Override
    fun onCreate() {
        if (BuildCompat.isAtLeastT()) {
            onBackInvokedDispatcher.registerOnBackInvokedCallback(
                OnBackInvokedDispatcher.PRIORITY_DEFAULT
            ) {
                /**
                 * onBackPressed logic goes here. For instance:
                 * Prevents closing the app to go home screen when in the
                 * middle of entering data to a form
                 * or from accidentally leaving a fragment with a WebView in it
                 *
                 * Unregistering the callback to stop intercepting the back gesture:
                 * When the user transitions to the topmost screen (activity, fragment)
                 * in the BackStack, unregister the callback by using
                 * OnBackInvokeDispatcher.unregisterOnBackInvokedCallback
                 * (https://developer.android.com/reference/kotlin/android/window/OnBackInvokedDispatcher#unregisteronbackinvokedcallback)
                 */
            }
        }
    }

    Java

    @Override
    void onCreate() {
      if (BuildCompat.isAtLeastT()) {
        getOnBackInvokedDispatcher().registerOnBackInvokedCallback(
            OnBackInvokedDispatcher.PRIORITY_DEFAULT,
            () -> {
              /**
               * onBackPressed logic goes here - For instance:
               * Prevents closing the app to go home screen when in the
               * middle of entering data to a form
               * or from accidentally leaving a fragment with a WebView in it
               *
               * Unregistering the callback to stop intercepting the back gesture:
               * When the user transitions to the topmost screen (activity, fragment)
               * in the BackStack, unregister the callback by using
               * OnBackInvokeDispatcher.unregisterOnBackInvokedCallback
               * (https://developer.android.com/reference/kotlin/android/view/OnBackInvokedDispatcher#unregisteronbackinvokedcallback)
               */
            }
        );
      }
    }
  4. Android 13 और इसके बाद के वर्शन के लिए, OnBackPressed या KeyEvent.KEYCODE_BACK का इस्तेमाल करके, वापस जाने के इवेंट को इंटरसेप्ट करना बंद करें.

आपके पास OnBackInvokedCallback को PRIORITY_DEFAULT या PRIORITY_OVERLAY के साथ रजिस्टर करने का विकल्प है. हालांकि, यह सुविधा AndroidX OnBackPressedCallback में उपलब्ध नहीं है. कुछ मामलों में, PRIORITY_OVERLAY के साथ कॉलबैक रजिस्टर करना फ़ायदेमंद होता है.

यह तब लागू होता है, जब onKeyPreIme() से माइग्रेट किया जाता है और आपके कॉलबैक को खुले हुए आईएमई के बजाय, वापस जाने के जेस्चर को स्वीकार करने की ज़रूरत होती है. IME, PRIORITY_DEFAULT के साथ कॉलबैक रजिस्टर करते हैं. PRIORITY_OVERLAY के साथ अपने कॉलबैक को रजिस्टर करें, ताकि यह पक्का किया जा सके कि OnBackInvokedDispatcher खुले हुए IME के बजाय, बैक जेस्चर को आपके कॉलबैक पर भेजता है.

पीछे जाने पर झलक दिखाने वाले हाथ के जेस्चर की सुविधा से ऑप्ट आउट करना

ऑप्ट आउट करने के लिए, AndroidManifest.xml में, <application> टैग में, android:enableOnBackInvokedCallback फ़्लैग को false पर सेट करें.

<application
    ...
    android:enableOnBackInvokedCallback="false"
    ... >
...
</application>

इस सेटिंग को 'गलत है' पर सेट करने से ये काम होते हैं:

  • इस सेटिंग से, प्रिडिक्टिव बैक जेस्चर के सिस्टम ऐनिमेशन बंद हो जाते हैं.
  • OnBackInvokedCallback को अनदेखा करता है, लेकिन OnBackPressedCallback कॉल काम करते रहते हैं.

गतिविधि के लेवल पर ऑप्ट आउट करना

android:enableOnBackInvokedCallback फ़्लैग की मदद से, गतिविधि के लेवल पर प्रेडिक्टिव सिस्टम ऐनिमेशन से ऑप्ट आउट किया जा सकता है. इस सुविधा की मदद से, एक साथ कई गतिविधियां करने वाले बड़े ऐप्लिकेशन को, अनुमान लगाने वाले बैक जेस्चर पर माइग्रेट करना आसान हो जाता है.

यहां दिए गए कोड में, enableOnBackInvokedCallback को सेट करने का एक उदाहरण दिखाया गया है. इससे MainActivity से, होम स्क्रीन पर वापस जाने वाली सिस्टम ऐनिमेशन सुविधा चालू हो जाती है:

<manifest ...>
    <application . . .

        android:enableOnBackInvokedCallback="false">

        <activity
            android:name=".MainActivity"
            android:enableOnBackInvokedCallback="true"
            ...
        </activity>
        <activity
            android:name=".SecondActivity"
            android:enableOnBackInvokedCallback="false"
            ...
        </activity>
    </application>
</manifest>

android:enableOnBackInvokedCallback फ़्लैग का इस्तेमाल करते समय, इन बातों का ध्यान रखें:

  • android:enableOnBackInvokedCallback=false सेटिंग चालू करने पर, गतिविधि के लेवल या ऐप्लिकेशन के लेवल पर, अनुमानित बैक ऐनिमेशन बंद हो जाते हैं. यह इस बात पर निर्भर करता है कि आपने टैग कहां सेट किया है. साथ ही, यह सिस्टम को android:enableOnBackInvokedCallback=false प्लैटफ़ॉर्म एपीआई को कॉल करने से रोकता है.OnBackInvokedCallback हालांकि, OnBackPressedCallback को कॉल करने की सुविधा काम करती रहेगी, क्योंकि OnBackPressedCallback पुराने सिस्टम के साथ काम करता है. साथ ही, यह onBackPressed एपीआई को कॉल करता है. यह एपीआई, Android 13 से पहले के वर्शन पर काम नहीं करता.
  • ऐप्लिकेशन लेवल पर enableOnBackInvokedCallback फ़्लैग सेट करने से, ऐप्लिकेशन में की जाने वाली सभी गतिविधियों के लिए डिफ़ॉल्ट वैल्यू सेट हो जाती है. गतिविधि लेवल पर फ़्लैग सेट करके, हर गतिविधि के लिए डिफ़ॉल्ट वैल्यू को बदला जा सकता है. ऐसा पिछले कोड के उदाहरण में दिखाया गया है.

कॉल बैक के सबसे सही तरीके

यहां, सिस्टम बैक कॉलबैक का इस्तेमाल करने के सबसे सही तरीके दिए गए हैं. ये तरीके BackHandler (Compose के लिए), OnBackPressedCallback या OnBackInvokedCallback के लिए हैं.

उस यूज़र इंटरफ़ेस (यूआई) की स्थिति का पता लगाएं जो हर कॉलबैक को चालू और बंद करती है

यूज़र इंटरफ़ेस (यूआई) की स्थिति एक ऐसी प्रॉपर्टी है जो यूज़र इंटरफ़ेस (यूआई) के बारे में बताती है. हमारा सुझाव है कि आप ये चरण अपनाएं.

  1. उस यूज़र इंटरफ़ेस (यूआई) की स्थिति का पता लगाएं जो हर कॉलबैक को चालू और बंद करती है.

  2. observable data holder type का इस्तेमाल करके, उस स्थिति को तय करें. जैसे, StateFlow या Compose State. इसके बाद, स्थिति में बदलाव होने पर कॉलबैक को चालू या बंद करें.

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

यूज़र इंटरफ़ेस (यूआई) लॉजिक के लिए, सिस्टम बैक कॉलबैक का इस्तेमाल करना

यूज़र इंटरफ़ेस (यूआई) लॉजिक से यह तय होता है कि यूज़र इंटरफ़ेस (यूआई) को कैसे दिखाया जाए. डायलॉग दिखाने या ऐनिमेशन चलाने जैसे यूज़र इंटरफ़ेस (यूआई) लॉजिक को चलाने के लिए, सिस्टम बैक कॉलबैक का इस्तेमाल करें.

अगर आपके ऐप्लिकेशन में OnBackPressedCallback या OnBackInvokedCallback के साथ PRIORITY_DEFAULT या PRIORITY_OVERLAY की सुविधा चालू है, तो अनुमानित बैक ऐनिमेशन काम नहीं करते. ऐसे में, आपको बैक इवेंट को मैनेज करना होगा. कारोबारी नियम लागू करने या लॉग करने के लिए, इन कॉलबैक को न बनाएं.

अगर आपके ऐप्लिकेशन को उपयोगकर्ता के वापस स्वाइप करने पर, कारोबार से जुड़ी लॉजिक या लॉगिंग की प्रोसेस को पूरा करना है, तो इन तरीकों का इस्तेमाल करें:

  • Android 16 और इसके बाद के वर्शन वाले डिवाइसों पर, PRIORITY_SYSTEM_NAVIGATION_OBSERVER के साथ OnBackInvokedCallback का इस्तेमाल करें. इससे एक ऐसा ऑब्ज़र्वर-कॉलबैक बनता है जो बैक इवेंट का इस्तेमाल नहीं करता. उदाहरण के लिए, इस कॉलबैक को तब रजिस्टर किया जा सकता है, जब उपयोगकर्ता रूट ऐक्टिविटी से वापस स्वाइप करता है. दूसरे शब्दों में कहें, तो जब उपयोगकर्ता आपका ऐप्लिकेशन छोड़ देता है. इस मामले में, बैक इवेंट को लॉग किया जा सकता है या कारोबार से जुड़ा कोई दूसरा लॉजिक चलाया जा सकता है. साथ ही, होम पेज पर वापस जाने वाला ऐनिमेशन अब भी चलेगा.
  • ऐक्टिविटी-टू-ऐक्टिविटी या फ़्रैगमेंट-टू-ऐक्टिविटी के मामलों में, लॉग तब करें, जब isFinishing में मौजूद onDestroy, ऐक्टिविटी के लाइफ़साइकल में true हो.
  • फ़्रैगमेंट-टू-फ़्रैगमेंट के मामलों के लिए, लॉग करें कि अगर isRemoving में onDestroy, फ़्रैगमेंट के व्यू लाइफ़साइकल में सही है. इसके अलावा, FragmentManager.OnBackStackChangedListener में onBackStackChangeStarted या onBackStackChangeCommitted तरीकों का इस्तेमाल करके लॉग इन करें.
  • Compose के मामले में, Compose डेस्टिनेशन से जुड़े ViewModel के onCleared() कॉलबैक में लॉग करें. यह सबसे अच्छा सिग्नल है. इससे यह पता चलता है कि कंपोज़ डेस्टिनेशन को बैक स्टैक से कब हटाया गया और उसे कब बंद किया गया.

सिंगल रिस्पॉन्सबिलिटी वाले कॉलबैक बनाना

डिस्पैचर में एक से ज़्यादा कॉलबैक जोड़े जा सकते हैं. कॉलबैक को एक स्टैक में जोड़ा जाता है. इसमें, सबसे आखिर में जोड़ा गया चालू किया गया कॉलबैक, बैक जेस्चर को हैंडल करता है. हर बैक जेस्चर के लिए एक कॉलबैक होता है.

अगर किसी कॉलबैक का काम सिर्फ़ एक है, तो उसे चालू या बंद करना आसान होता है. उदाहरण के लिए:

स्टैक में कॉलबैक का क्रम.
दूसरी इमेज. कॉलबैक स्टैक का डायग्राम.

दूसरे फ़िगर में दिखाया गया है कि स्टैक में कई कॉलबैक कैसे हो सकते हैं. इनमें से हर कॉलबैक, एक काम के लिए ज़िम्मेदार होता है. कोई कॉलबैक सिर्फ़ तब चलता है, जब स्टैक में मौजूद उसके ऊपर के कॉलबैक बंद हों. इस उदाहरण में, जब उपयोगकर्ता किसी फ़ॉर्म में डेटा डालता है, तब "क्या आपको पक्का करना है..." कॉलबैक चालू होता है. इसके अलावा, यह बंद रहता है. जब उपयोगकर्ता फ़ॉर्म से बाहर निकलने के लिए वापस स्वाइप करता है, तब यह कॉलबैक पुष्टि करने वाला डायलॉग बॉक्स खोलता है.

दूसरे कॉलबैक में, अनुमानित बैक बटन की सुविधा के साथ काम करने वाला कोई मटीरियल कॉम्पोनेंट, Progress API का इस्तेमाल करने वाला AndroidX ट्रांज़िशन या कोई अन्य कस्टम कॉलबैक शामिल हो सकता है.

अगर ऊपर दिए गए कॉलबैक बंद हैं और इस FragmentManager के लिए बैक स्टैक खाली नहीं है, तो childFragmentManager का कॉलबैक चलता है. यहां FragmentManager को फ़्रैगमेंट में अटैच किया जाता है.childFragmentManager इस उदाहरण में, इस इंटरनल कॉलबैक को बंद कर दिया गया है.

इसी तरह, अगर ऊपर दिए गए कॉलबैक बंद हैं और इसका स्टैक खाली नहीं है, तो supportFragmentManager का इंटरनल कॉलबैक चलता है. नेविगेशन के लिए FragmentManager या NavigationComponent का इस्तेमाल करने पर, यह व्यवहार एक जैसा होता है. ऐसा इसलिए, क्योंकि NavigationComponent, FragmentManager पर निर्भर करता है. इस उदाहरण में, यह कॉलबैक तब चलता है, जब उपयोगकर्ता ने फ़ॉर्म में टेक्स्ट नहीं डाला होता है. इसकी वजह से, "क्या आपको पक्का करना है..." कॉलबैक बंद हो जाता है.

आखिर में, super.onBackPressed()सिस्टम-लेवल का कॉलबैक होता है. यह तब फिर से चलता है, जब ऊपर दिए गए कॉलबैक बंद कर दिए जाते हैं. सिस्टम ऐनिमेशन ट्रिगर करने के लिए, supportFragmentManager का बैक स्टैक खाली होना चाहिए. जैसे, होम स्क्रीन पर वापस जाना, एक गतिविधि से दूसरी गतिविधि पर जाना, और एक टास्क से दूसरे टास्क पर जाना. इससे इसका इंटरनल कॉलबैक बंद हो जाता है.

प्रिडिक्टिव बैक जेस्चर ऐनिमेशन की जांच करना

अगर अब भी Android 13 या Android 14 का इस्तेमाल किया जा रहा है, तो इमेज 1 में दिखाया गया बैक-टू-होम ऐनिमेशन टेस्ट किया जा सकता है.

इस ऐनिमेशन को टेस्ट करने के लिए, यह तरीका अपनाएं:

  1. अपने डिवाइस पर, सेटिंग > सिस्टम > डेवलपर के लिए सेटिंग और टूल पर जाएं.

  2. प्रिडिक्टिव बैक ऐनिमेशन चुनें.

  3. अपडेट किया गया ऐप्लिकेशन लॉन्च करें और बैक जेस्चर का इस्तेमाल करके देखें कि यह सुविधा काम कर रही है या नहीं.