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

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

onBackPressed() ओवरराइड करके बैक बटन दबाने पर ऐक्शन रोकने या कस्टम व्यवहार करने का तरीका।

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

Android Studio में नया प्रोजेक्ट बनाएं।

चरण 2: साधारण लेआउट

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:orientation="vertical"
    android:padding="16dp"
    android:gravity="center"
    tools:context=".MainActivity">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!" />
</LinearLayout>

चरण 3: बैक बटन ओवरराइड

src/MainActivity.java:

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

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public void onBackPressed() {
        // बैक बटन डिसेबल - कुछ न करें या टोस्ट दिखाएं
        Toast.makeText(getApplicationContext(), "Disabled Back Press", Toast.LENGTH_SHORT).show();
        // super.onBackPressed(); // कॉल न करें ताकि ऐक्शन ब्लॉक हो
    }
}

चरण 4: मैनिफेस्ट

मानक मैनिफेस्ट।

व्यावहारिक उपयोग के मामले

1. लॉगआउट पुष्टिकरण डायलॉग

@Override
public void onBackPressed() {
    if (isLogoutScreen) {
        new AlertDialog.Builder(this)
            .setTitle("Logout?")
            .setMessage("Are you sure you want to logout?")
            .setPositiveButton("Yes", (dialog, which) -> {
                performLogout();
                super.onBackPressed(); // या finish()
            })
            .setNegativeButton("No", null)
            .show();
    } else {
        super.onBackPressed();
    }
}

2. डबल बैक टू एग्जिट

private long backPressedTime;
private Toast backToast;

@Override
public void onBackPressed() {
    if (backPressedTime + 2000 > System.currentTimeMillis()) {
        backToast.cancel();
        super.onBackPressed();
        return;
    } else {
        backToast = Toast.makeText(this, "Press back again to exit", Toast.LENGTH_SHORT);
        backToast.show();
    }
    backPressedTime = System.currentTimeMillis();
}

3. फ्रैगमेंट बैक स्टैक हैंडलिंग

@Override
public void onBackPressed() {
    if (getSupportFragmentManager().getBackStackEntryCount() > 0) {
        getSupportFragmentManager().popBackStack();
    } else {
        super.onBackPressed();
    }
}

महत्वपूर्ण

  • super.onBackPressed() न कॉल करने से डिफ़ॉल्ट व्यवहार (फिनिश/बैक स्टैक पॉप) ब्लॉक होता है
  • उपयोगकर्ता अनुभव के लिए स्पष्ट फीडबैक दें
  • Android 13+ (API 33) में OnBackInvokedCallback उपयोग करें
  1. Android में ScrollView को प्रोग्रामेटिकली कैसे डिसेबल करें? Android में ScrollView को प्रोग्रामेटिकली कैसे डिसेबल करें?

    परिचय यह उदाहरण दर्शाता है कि Android में ScrollView को प्रोग्रामेटिक रूप से कैसे डिसेबल किया जाए। हम OnTouchListener का उपयोग करके टच इवेंट को इंटरसेप्ट करेंगे। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project के माध्यम से नया प्रोजेक्ट बनाएं। चरण 2: लेआउट XML में ScrollView res/l

  1. Android ऐप बैकग्राउंड में चल रहा है या नहीं, कैसे चेक करें? Android ऐप बैकग्राउंड में चल रहा है या नहीं, कैसे चेक करें?

    परिचय यह ट्यूटोरियल दर्शाता है कि कैसे पता लगाया जाए कि कोई Android एप्लिकेशन बैकग्राउंड में चल रही है या नहीं। हम ActivityManager.RunningAppProcessInfo क्लास का उपयोग करके ऐप की वर्तमान स्थिति (फोरग्राउंड या बैकग्राउंड) की जांच करेंगे। आवश्यक चरण चरण 1: नया प्रोजेक्ट बनाएं Android Studio खोलें, F

  1. Android डिवाइस में GPS इनेबल है या नहीं कैसे चेक करें? Android डिवाइस में GPS इनेबल है या नहीं कैसे चेक करें?

    यह उदाहरण दर्शाता है कि Android डिवाइस पर GPS प्रोवाइडर इनेबल है या नहीं, और यदि नहीं तो यूजर को सेटिंग्स खोलने के लिए कैसे प्रेरित करें। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project। चरण 2: लेआउट XML res/layout/activity_main.xml: <?xml version=1.0 encoding=utf-8?> <R