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

एंड्रॉइड में डिवाइस एयरप्लेन मोड में है या नहीं, कैसे जांचें?

एंड्रॉइड में एयरप्लेन मोड स्थिति जांचें और परिवर्तन सुनें

यह ट्यूटोरियल दिखाता है कि BroadcastReceiver का उपयोग करके कैसे जांचा जाए कि डिवाइस एयरप्लेन मोड में है या नहीं, और मोड परिवर्तन पर कैसे प्रतिक्रिया दें।

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

एंड्रॉइड स्टूडियो में नया प्रोजेक्ट बनाएं।

चरण 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:gravity="center"
    android:padding="24dp"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/statusText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="28sp"
        android:textStyle="bold"
        android:padding="24dp"
        android:background="#E3F2FD"
        android:text="एयरप्लेन मोड स्थिति..."/>

</LinearLayout>

चरण 3: एक्टिविटी कोड (src/MainActivity.java)

package com.example.airplanemodecheck;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
import android.widget.TextView;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    private TextView statusText;
    private AirplaneModeReceiver receiver;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        statusText = findViewById(R.id.statusText);
        receiver = new AirplaneModeReceiver();

        // वर्तमान स्थिति जांचें
        checkAirplaneMode();
    }

    @Override
    protected void onResume() {
        super.onResume();
        // एयरप्लेन मोड परिवर्तन के लिए रिसीवर रजिस्टर करें
        IntentFilter filter = new IntentFilter(Intent.ACTION_AIRPLANE_MODE_CHANGED);
        registerReceiver(receiver, filter);
    }

    @Override
    protected void onPause() {
        super.onPause();
        // लीक रोकने के लिए अनरजिस्टर करें
        unregisterReceiver(receiver);
    }

    private void checkAirplaneMode() {
        // Settings.Global से एयरप्लेन मोड स्थिति पढ़ें (API 17+)
        boolean isAirplaneModeOn = false;
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
            isAirplaneModeOn = Settings.Global.getInt(
                getContentResolver(), 
                Settings.Global.AIRPLANE_MODE_ON, 0) != 0;
        } else {
            // लीगेसी (API < 17)
            isAirplaneModeOn = Settings.System.getInt(
                getContentResolver(), 
                Settings.System.AIRPLANE_MODE_ON, 0) != 0;
        }

        updateUI(isAirplaneModeOn);
    }

    private void updateUI(boolean isOn) {
        String message = isOn 
            ? "✈️ एयरप्लेन मोड: चालू (ON)" 
            : "📱 एयरप्लेन मोड: बंद (OFF)";
        statusText.setText(message);
        statusText.setTextColor(isOn ? 0xFFF44336 : 0xFF4CAF50);
        statusText.setBackgroundColor(isOn ? 0xFFFFEBEE : 0xFFE8F5E9);
    }

    // ब्रॉडकास्ट रिसीवर - एयरप्लेन मोड परिवर्तन पर कॉल होता है
    private class AirplaneModeReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            if (Intent.ACTION_AIRPLANE_MODE_CHANGED.equals(intent.getAction())) {
                boolean isOn = intent.getBooleanExtra("state", false);
                updateUI(isOn);
            }
        }
    }
}

महत्वपूर्ण बिंदु

  • Intent.ACTION_AIRPLANE_MODE_CHANGED - सिस्टम ब्रॉडकास्ट जब एयरप्लेन मोड टॉगल होता है
  • Settings.Global.AIRPLANE_MODE_ON - वर्तमान स्थिति पढ़ने के लिए (API 17+)
  • रनटाइम रजिस्ट्रेशन: मैनिफेस्ट में डिक्लेयर नहीं किया जा सकता (Android 8+ प्रतिबंध)
  • लाइफसाइकिल: onResume में रजिस्टर, onPause में अनरजिस्टर करें

एयरप्लेन मोड प्रोग्रामेटिकली बदलना (केवल सिस्टम ऐप्स)

सामान्य ऐप्स एयरप्लेन मोड नहीं बदल सकते (Android 4.2+ से प्रतिबंधित)।
केवल android.permission.WRITE_SECURE_SETTINGS वाले सिस्टम/हस्ताक्षरित ऐप्स कर सकते हैं।
// केवल सिस्टम ऐप्स के लिए (रूट/ADB के माध्यम से काम कर सकता है)
Settings.Global.putInt(contentResolver, Settings.Global.AIRPLANE_MODE_ON, 1); // चालू
Settings.Global.putInt(contentResolver, Settings.Global.AIRPLANE_MODE_ON, 0); // बंद

// ब्रॉडकास्ट भेजें ताकि सिस्टम अपडेट हो
sendBroadcast(new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED).putExtra("state", true));

उपयोगकर्ता को सेटिंग्स पर भेजना (अनुशंसित)

// एयरप्लेन मोड सेटिंग्स पेज खोलें
Intent intent = new Intent(Settings.ACTION_AIRPLANE_MODE_SETTINGS);
startActivity(intent);

// या वायरलेस सेटिंग्स
Intent intent = new Intent(Settings.ACTION_WIRELESS_SETTINGS);
startActivity(intent);

एयरप्लेन मोड में क्या अक्षम होता है

  • सेलुलर नेटवर्क (कॉल, SMS, मोबाइल डेटा)
  • Wi-Fi (वैकल्पिक रूप से बाद में पुनः सक्षम किया जा सकता है)
  • ब्लूटूथ (वैकल्पिक रूप से बाद में पुनः सक्षम किया जा सकता है)
  • NFC
  • GPS (कुछ डिवाइसेज पर)

चरण 4: टेस्ट करें

  1. ऐप चलाएं - वर्तमान स्थिति दिखाएगा
  2. क्विक सेटिंग्स से एयरप्लेन मोड टॉगल करें
  3. ऐप पर वापस आएं - स्थिति ऑटोमेटिकली अपडेट होगी
  4. लॉगकैट में "एयरप्लेन मोड परिवर्तित" देखें

एंड्रॉइड में डिवाइस एयरप्लेन मोड में है या नहीं, कैसे जांचें?

  1. एंड्रॉइड पर व्हाट्सऐप डार्क मोड सक्षम करें - चरण-दर-चरण गाइड एंड्रॉइड पर व्हाट्सऐप डार्क मोड सक्षम करें - चरण-दर-चरण गाइड

    डार्क मोड नया कूल लगता है और सभी गूगल ऐप्स पर देखा जा सकता है। हालांकि यह कई ऐप्स के लिए दिखाई दिया है, लेकिन एक ऐप है जिसके लिए उपयोगकर्ता उत्सुकता से इंतजार कर रहे हैं, वह है व्हाट्सऐप डार्क मोड। यदि आप सोच रहे हैं कि फेसबुक के स्वामित्व वाला ऐप कैसे पीछे रह सकता है। यह निश्चित रूप से पीछे नहीं रह

  1. एंड्रॉयड का डू नॉट डिस्टर्ब मास्टर करें: फोकस और नींद बढ़ाने के प्रो टिप्स एंड्रॉयड का डू नॉट डिस्टर्ब मास्टर करें: फोकस और नींद बढ़ाने के प्रो टिप्स

    स्मार्टफोन आज के समय में एक आवश्यकता हैं। हालांकि, हम अक्सर दिन के एक बड़े हिस्से के लिए अपनी आंखें छोटी स्क्रीन पर गड़ाए रखते हैं। सुबह से रात तक, हम हर समय अपना फोन साथ रखते हैं। अनजाने में, इस आदत ने काम में ध्यान भटकाना, नींद के पैटर्न को बिगाड़ना और शॉर्ट-टर्म मेमोरी की समस्या पैदा कर दी है। हम

  1. Google Find My Device से अपने खोए एंड्रॉइड फोन को तुरंत ढूंढें Google Find My Device से अपने खोए एंड्रॉइड फोन को तुरंत ढूंढें

    क्या आपने अपना एंड्रॉइड फोन कहीं छोड़ दिया और यह नहीं मिल रहा? चाहे आपने इसे ऑफिस में, घर पर, या होटल के कमरे में गलत जगह रख दिया हो, यह जानना डरावना है कि आपका फोन गुम हो गया है। लेकिन अपने गुम हुए डिवाइस को ट्रैक करने के कुछ तरीके हैं ताकि घबराहट शुरू होने से पहले आप इसे वापस पा सकें। अधिकांश एंड