Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

Kotlin का उपयोग करके लॉगआउट के दौरान एंड्रॉइड में बैक बटन कैसे अक्षम करें?

परिचय

यह उदाहरण दर्शाता है कि Kotlin का उपयोग करके एंड्रॉइड में बैक बटन को onBackPressed() ओवरराइड करके कैसे अक्षम किया जाए। लॉगआउट या महत्वपूर्ण ऑपरेशन के दौरान उपयोगी।

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio खोलें, File → New Project पर जाएं और नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।

चरण 2: लेआउट XML कॉन्फ़िगर करें

res/layout/activity_main.xml में निम्नलिखित कोड जोड़ें:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical"
    android:padding="16dp"
    tools:context=".MainActivity">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/image" />

</LinearLayout>

चरण 3: Kotlin कोड लागू करें

src/MainActivity.kt में निम्नलिखित कोड जोड़ें:

import android.os.Bundle
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }

    override fun onBackPressed() {
        // बैक बटन दबाने पर कुछ न करें या टोस्ट दिखाएं
        Toast.makeText(applicationContext, "बैक प्रेस अक्षम है", Toast.LENGTH_SHORT).show()
        // super.onBackPressed() न कॉल करें - इससे बैक नेविगेशन ब्लॉक हो जाता है
    }
}

चरण 4: मैनिफेस्ट कॉन्फ़िगर करें

androidManifest.xml में निम्नलिखित कोड जोड़ें:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="app.com.q11">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

ऐप चलाएं

अपने एंड्रॉइड डिवाइस को कंप्यूटर से कनेक्ट करें। Android Studio में प्रोजेक्ट की एक्टिविटी फाइल खोलें और टूलबार से Run आइकन पर क्लिक करें। अपना मोबाइल डिवाइस चुनें और ऐप का डिफॉल्ट स्क्रीन देखें।

बेहतर दृष्टिकोण: सशर्त बैक हैंडलिंग

वास्तविक ऐप्स में, बैक बटन को सशर्त रूप से अक्षम करें:

private var isLogoutInProgress = false

override fun onBackPressed() {
    if (isLogoutInProgress) {
        Toast.makeText(this, "लॉगआउट प्रगति पर है, कृपया प्रतीक्षा करें", Toast.LENGTH_SHORT).show()
    } else {
        super.onBackPressed() // सामान्य बैक व्यवहार
    }
}

// OnBackPressedDispatcher (API 33+ के लिए अनुशंसित)
val callback = object : OnBackPressedCallback(true) {
    override fun handleOnBackPressed() {
        if (!isLogoutInProgress) {
            isEnabled = false
            onBackPressedDispatcher.onBackPressed()
        } else {
            Toast.makeText(context, "बैक अक्षम है", Toast.LENGTH_SHORT).show()
        }
    }
}
onBackPressedDispatcher.addCallback(this, callback)
  1. - एंड्रॉइड डिवाइस के होम बटन क्लिक को कैसे डिसेबल करें?

    एंड्रॉइड में होम बटन व्यवहार को नियंत्रित करना ⚠️ महत्वपूर्ण चेतावनी: आधुनिक एंड्रॉइड वर्जन (API 21+) में होम बटन को पूरी तरह से डिसेबल करना **संभव नहीं है** और सुरक्षा नीति के विरुद्ध है। यह गाइड केवल ऐतिहासिक संदर्भ और कियोस्क मोड विकल्पों के लिए है। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में

  1. Android में लॉगआउट के दौरान बैक बटन कैसे डिसेबल करें? Android में लॉगआउट के दौरान बैक बटन कैसे डिसेबल करें?

    onBackPressed() ओवरराइड करके बैक बटन दबाने पर ऐक्शन रोकने या कस्टम व्यवहार करने का तरीका। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में नया प्रोजेक्ट बनाएं। चरण 2: साधारण लेआउट res/layout/activity_main.xml: <?xml version=1.0 encoding=utf-8?> <LinearLayout xmlns:android=https://schemas.and

  1. Android ऐप में होम बटन कैसे ओवरराइड करें? Android ऐप में होम बटन कैसे ओवरराइड करें?

    होम बटन दबाने का पता लगाने के लिए onUserLeaveHint() का उपयोग - लेकिन होम बटन को पूरी तरह ओवरराइड/ब्लॉक नहीं किया जा सकता। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में नया प्रोजेक्ट बनाएं। चरण 2: लेआउट res/layout/activity_main.xml: <?xml version=1.0 encoding=utf-8?> <RelativeLayout xmlns: