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

एंड्रॉइड में सभी एक्टिविटीज़ को एक साथ कैसे बंद करें?

एंड्रॉइड ऐप में सभी एक्टिविटीज़ को प्रोग्रामेटिकली समाप्त करना

यह गाइड एक ऐप की सभी एक्टिविटीज़ को एक साथ बंद करने के विभिन्न तरीकों को दर्शाता है, मॉडर्न बेस्ट प्रैक्टिसेज के साथ।

विधि 1: finishAffinity() - API 16+ (अनुशंसित)

// किसी भी एक्टिविटी से कॉल करें
finishAffinity();

यह वर्तमान टास्क में सभी एक्टिविटीज़ को समाप्त करता है। सबसे सरल और मॉडर्न तरीका।

विधि 2: फ्लैग्स के साथ नई एक्टिविटी शुरू करना

Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
finish();

विधि 3: Activity लाइफसाइकिल कॉलबैक (लिगेसी - Process.killProcess)

⚠️ चेतावनी: Process.killProcess(Process.myPid()) का उपयोग नहीं करने की सलाह दी जाती है। यह सिस्टम को क्लीनअप करने का मौका नहीं देता (onDestroy, onSaveInstanceState, आदि), जिससे डेटा लॉस, रिसोर्स लीक, और खराब यूजर एक्सपीरियंस हो सकता है।

पूर्ण उदाहरण: दो एक्टिविटीज़ के साथ

MainActivity.java

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;

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

        Button btnStartSecond = findViewById(R.id.button);
        btnStartSecond.setOnClickListener(v -> {
            startActivity(new Intent(this, SecondActivity.class));
        });
    }
}

SecondActivity.java

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;

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

        Button btnExit = findViewById(R.id.terminateButton);
        btnExit.setOnClickListener(v -> {
            // विधि 1: सरल और अनुशंसित
            finishAffinity();
            
            // या विधि 2: यदि टास्क रूट पर वापस जाना चाहते हैं
            // Intent intent = new Intent(this, MainActivity.class);
            // intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
            // startActivity(intent);
        });
    }
}

लेआउट फ़ाइलें

activity_main.xml

<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="24dp">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/button"
        android:layout_marginBottom="20dp"
        android:gravity="center"
        android:text="एक्टिविटी वन" />

    <Button
        android:id="@+id/button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="सेकंड एक्टिविटी शुरू करें" />
</RelativeLayout>

activity_second.xml

<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="24dp">

    <Button
        android:id="@+id/terminateButton"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="सभी एक्टिविटीज़ बंद करें" />
</RelativeLayout>

बेस्ट प्रैक्टिसेज

  • finishAffinity() का उपयोग करें (API 16+) - सरल और प्रभावी
  • लॉगआउट/एग्जिट के लिए: क्लियर टॉप फ्लैग्स के साथ मुख्य एक्टिविटी पर वापस जाएं
  • System.exit(0) या Process.killProcess() से बचें
  • यदि बैकग्राउंड सर्विस/वर्कर चल रहे हैं, तो उन्हें अलग से रोकें

Jetpack Compose / मॉडर्न नेविगेशन

// Navigation Compose में
val navController = rememberNavController()
navController.popBackStack(route = "home", inclusive = true)
// या
navController.navigate("home") { popUpTo("home") { inclusive = true } }
  1. Android में ScrollView को प्रोग्रामेटिकली कैसे डिसेबल करें? Android में ScrollView को प्रोग्रामेटिकली कैसे डिसेबल करें?

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

  1. iOS 7 में एक साथ सभी सफारी टैब बंद करें - त्वरित और सरल गाइड iOS 7 में एक साथ सभी सफारी टैब बंद करें - त्वरित और सरल गाइड

    यह सरल है, लेकिन इतना छिपा हुआ है कि आपको एहसास नहीं हो सकता कि आप iOS 7 में अपने सभी खुले ब्राउज़र टैब को एक बार में बंद कर सकते हैं। आमतौर पर, मैं सफारी में नई टैब विंडो में पॉप अप होने वाले प्रत्येक कार्ड के ऊपरी बाएं कोने में x दबाता रहता हूं। यदि आपके पास बंद करने के लिए केवल एक या दो चीजें है

  1. एक बार में सभी एंड्रॉइड ऐप्स को निर्बाध रूप से अपडेट करें - चरण-दर-चरण गाइड एक बार में सभी एंड्रॉइड ऐप्स को निर्बाध रूप से अपडेट करें - चरण-दर-चरण गाइड

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