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

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

एंड्रॉइड में डायनामिक सेंसर डिस्कवरी सपोर्ट जांचें

यह ट्यूटोरियल दिखाता है कि SensorManager.isDynamicSensorDiscoverySupported() का उपयोग करके कैसे जांचा जाए कि डिवाइस रनटाइम पर सेंसर्स की डायनामिक खोज सपोर्ट करता है या नहीं।

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

एंड्रॉइड स्टूडियो में नया प्रोजेक्ट बनाएं (API 24+ आवश्यक)।

चरण 2: लेआउट (res/layout/activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto"
    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/sensorStatus"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="28sp"
        android:textStyle="bold"
        android:layout_marginTop="30dp"
        android:padding="24dp"
        android:background="#F3E5F5"
        android:text="जांच हो रही है..."/>

</LinearLayout>

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

package com.example.dynamicsensorcheck;

import android.content.Context;
import android.hardware.SensorManager;
import android.os.Build;
import android.os.Bundle;
import android.widget.TextView;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    private TextView sensorStatus;
    private SensorManager sensorManager;

    @RequiresApi(api = Build.VERSION_CODES.N)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        sensorStatus = findViewById(R.id.sensorStatus);
        sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);

        checkDynamicSensorDiscovery();
    }

    private void checkDynamicSensorDiscovery() {
        // API 24 (Android 7.0 Nougat) में जोड़ा गया
        boolean supported = sensorManager.isDynamicSensorDiscoverySupported();

        if (supported) {
            sensorStatus.setText("✓ डायनामिक सेंसर डिस्कवरी सपोर्ट करता है");
            sensorStatus.setTextColor(0xFF4CAF50);
        } else {
            sensorStatus.setText("✗ डायनामिक सेंसर डिस्कवरी सपोर्ट नहीं करता");
            sensorStatus.setTextColor(0xFFF44336);
        }
        
        sensorStatus.append("\n\nAPI लेवल: " + Build.VERSION.SDK_INT);
    }
}

डायनामिक सेंसर डिस्कवरी क्या है?

  • परिभाषा: रनटाइम पर नए सेंसर्स की खोज और कनेक्ट करने की क्षमता
  • उदाहरण: ब्लूटूथ LE सेंसर्स, बाहरी एक्सेसरीज, वियरेबल सेंसर्स
  • API 24+ में पेश किया गया: SensorManager.isDynamicSensorDiscoverySupported()
  • संबंधित API:
    • SensorManager.registerDynamicSensorCallback() - कॉलबैक रजिस्टर करें
    • DynamicSensorCallback.onDynamicSensorConnected() - नया सेंसर कनेक्ट होने पर
    • DynamicSensorCallback.onDynamicSensorDisconnected() - सेंसर डिस्कनेक्ट होने पर

डायनामिक सेंसर कॉलबैक उदाहरण

// API 24+
SensorManager.DynamicSensorCallback callback = new SensorManager.DynamicSensorCallback() {
    @Override
    public void onDynamicSensorConnected(Sensor sensor) {
        // नया सेंसर उपलब्ध हुआ
        Log.d("SENSOR", "कनेक्टेड: " + sensor.getName() + " (टाइप: " + sensor.getType() + ")");
        // सेंसर के लिए लिस्टनर रजिस्टर करें
    }

    @Override
    public void onDynamicSensorDisconnected(Sensor sensor) {
        // सेंसर अब उपलब्ध नहीं
        Log.d("SENSOR", "डिस्कनेक्टेड: " + sensor.getName());
    }
};

// रजिस्टर करें
sensorManager.registerDynamicSensorCallback(callback, handler);

// अनरजिस्टर करें (onDestroy में)
sensorManager.unregisterDynamicSensorCallback(callback);

डायनामिक सेंसर्स के उदाहरण

  • ब्लूटूथ LE हार्ट रेट मॉनिटर (TYPE_HEART_RATE)
  • बाहरी तापमान सेंसर (TYPE_AMBIENT_TEMPERATURE)
  • वियरेबल्स सेंसर्स (घड़ी से फोन तक)
  • चिकित्सा उपकरण (ग्लूकोज, SpO2, आदि)

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

  1. Android 7.0+ डिवाइस पर चलाएं
  2. अधिकांश आधुनिक फोन true लौटाएंगे
  3. पुराने डिवाइसेज false दिखा सकते हैं

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

  1. Android में वर्तमान Wi-Fi 5 GHz बैंड सपोर्ट की जांच कैसे करें Android में वर्तमान Wi-Fi 5 GHz बैंड सपोर्ट की जांच कैसे करें

    परिचयएंड्रॉइड डिवाइस पर वर्तमान Wi-Fi कनेक्शन 5 GHz बैंड को सपोर्ट करता है या नहीं, यह जांचने के लिए `WifiManager.is5GHzBandSupported()` विधि का उपयोग करें।कार्यान्वयन चरणचरण 1: लेआउट (activity_main.xml)<TextView android:id=@+id/text android:layout_width=match_parent android:layout

  1. Android में वर्तमान Wi-Fi हमेशा खोज योग्य है या नहीं जांचें Android में वर्तमान Wi-Fi हमेशा खोज योग्य है या नहीं जांचें

    परिचययह जांचने के लिए कि क्या डिवाइस का Wi-Fi स्कैन हमेशा उपलब्ध मोड में है (अर्थात बैटरी बचत के लिए स्कैन अक्षम नहीं है), `WifiManager.isScanAlwaysAvailable()` का उपयोग करें।कार्यान्वयनचरण 1: लेआउट (activity_main.xml)<TextView android:id=@+id/text android:layout_width=match_parent

  1. Android में वर्तमान में चल रहे ऐप्लिकेशन कैसे जांचें? Android में वर्तमान में चल रहे ऐप्लिकेशन कैसे जांचें?

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