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

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

एंड्रॉइड में LOW LATENCY OFF-BODY DETECT सेंसर सपोर्ट जांचें

यह ट्यूटोरियल दिखाता है कि Sensor.TYPE_LOW_LATENCY_OFFBODY_DETECT सेंसर की उपलब्धता कैसे जांचें। यह सेंसर डिवाइस के शरीर से हटाए जाने का तेजी से पता लगाता है।

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

एंड्रॉइड स्टूडियो में नया प्रोजेक्ट बनाएं (API 29+ अनुशंसित)।

चरण 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="24sp"
        android:textStyle="bold"
        android:layout_marginTop="30dp"
        android:padding="24dp"
        android:background="#F3E5F5"
        android:text="जांच हो रही है..."/>

</LinearLayout>

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

package com.example.offbodydetectcheck;

import android.content.Context;
import android.hardware.Sensor;
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);

        checkOffBodyDetectSupport();
    }

    private void checkOffBodyDetectSupport() {
        // API 29 (Android 10) में जोड़ा गया
        Sensor offBodySensor = sensorManager.getDefaultSensor(Sensor.TYPE_LOW_LATENCY_OFFBODY_DETECT);

        if (offBodySensor != null) {
            sensorStatus.setText("✓ LOW LATENCY OFF-BODY DETECT सपोर्ट करता है");
            sensorStatus.setTextColor(0xFF4CAF50);
            
            String info = String.format(
                "सेंसर: %s\nवेंडर: %s\nवर्जन: %d\nरेंज: %.1f\nरिजॉल्यूशन: %.3f\nपावर: %.3f mA",
                offBodySensor.getName(),
                offBodySensor.getVendor(),
                offBodySensor.getVersion(),
                offBodySensor.getMaximumRange(),
                offBodySensor.getResolution(),
                offBodySensor.getPower()
            );
            sensorStatus.append("\n\n" + info);
        } else {
            sensorStatus.setText("✗ LOW LATENCY OFF-BODY DETECT सपोर्ट नहीं करता");
            sensorStatus.setTextColor(0xFFF44336);
            
            sensorStatus.append("\n\nनोट: यह सेंसर Android 10 (API 29) में पेश किया गया था।\nयह डिवाइस के शरीर से हटाए जाने का तेजी से पता लगाता है।\nमुख्य रूप से वियरेबल्स/हेडफोन्स में उपयोग होता है।");
        }
    }
}

OFF-BODY DETECT सेंसर क्या है?

  • उद्देश्य: पता लगाता है कि डिवाइस उपयोगकर्ता के शरीर से कब हटाया गया
  • कम विलंबता: मानक ऑफ-बॉडी डिटेक्ट से तेज प्रतिक्रिया
  • उपयोग: मीडिया प्लेबैक ऑटो-पॉज, पावर सेविंग, सुरक्षा लॉक
  • उपलब्धता: Android 10+ (API 29), मुख्य रूप से वियरेबल्स, हेडफोन्स, कुछ फोन में
  • संबंधित: TYPE_OFF_BODY_DETECT (मानक, उच्च विलंबता)

सेंसर इवेंट डेटा

// इवेंट मान:
event.values[0] = 1.0f  // ऑन-बॉडी (पहना हुआ)
event.values[0] = 0.0f  // ऑफ-बॉडी (हटाया गया)

// उपयोग उदाहरण:
SensorEventListener listener = new SensorEventListener() {
    @Override
    public void onSensorChanged(SensorEvent event) {
        boolean onBody = event.values[0] == 1.0f;
        if (onBody) {
            // मीडिया प्ले करें, अनलॉक रखें
        } else {
            // मीडिया पॉज करें, लॉक करें, पावर सेव करें
        }
    }
    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {}
};

सभी डिवाइस सेंसर्स सूचीबद्ध करें (डीबगिंग के लिए)

List allSensors = sensorManager.getSensorList(Sensor.TYPE_ALL);
for (Sensor s : allSensors) {
    Log.d("SENSOR", String.format(
        "Type: %d (%s), Name: %s, Vendor: %s",
        s.getType(), getSensorTypeName(s.getType()), s.getName(), s.getVendor()
    ));
}

// हेल्पर मेथड
private String getSensorTypeName(int type) {
    switch (type) {
        case Sensor.TYPE_LOW_LATENCY_OFFBODY_DETECT: return "LOW_LATENCY_OFFBODY_DETECT";
        case Sensor.TYPE_OFF_BODY_DETECT: return "OFF_BODY_DETECT";
        // ... अन्य टाइप्स
        default: return "UNKNOWN_" + type;
    }
}

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

  1. Android 10+ डिवाइस पर चलाएं
  2. अधिकांश फोन "सपोर्ट नहीं करता" दिखाएंगे
  3. Pixel 4+, कुछ सैमसंग/वनप्लस डिवाइसेज सपोर्ट कर सकते हैं
  4. वियरेबल्स (वियर OS) पर अधिक संभावना

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

  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 में वर्तमान में चल रहे ऐप्लिकेशन कैसे जांचें? Android में वर्तमान में चल रहे ऐप्लिकेशन कैसे जांचें?

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

  1. एंड्रॉइड में डिवाइस फोन है या टैबलेट कैसे पहचानें एंड्रॉइड में डिवाइस फोन है या टैबलेट कैसे पहचानें

    TelephonyManager और स्क्रीन आकार के माध्यम से डिवाइस प्रकार निर्धारित करना एंड्रॉइड में फोन और टैबलेट के बीच अंतर करने के कई तरीके हैं। सबसे विश्वसनीय विधि TelephonyManager.getPhoneType() है जो वॉयस कॉल क्षमता जांचता है, लेकिन स्क्रीन आकार और UI मोड भी उपयोगी संकेत देते हैं। चरण 1: नया प्रोजेक्ट बन