परिचय
यह उदाहरण दर्शाता है कि 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)