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

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

एंड्रॉइड डिवाइस में हार्ट बीट (हृदय गति) सेंसर सपोर्ट जांचें

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

चरण 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: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="#FCE4EC"
        android:text="जांच हो रही है..."/>

</LinearLayout>

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

package com.example.heartbeatcheck;

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);

        checkHeartBeatSupport();
    }

    private void checkHeartBeatSupport() {
        // हार्ट बीट सेंसर जांचें (API 21+ में उपलब्ध)
        Sensor heartBeatSensor = sensorManager.getDefaultSensor(Sensor.TYPE_HEART_BEAT);

        if (heartBeatSensor != null) {
            sensorStatus.setText("✓ हार्ट बीट सेंसर सपोर्ट करता है");
            sensorStatus.setTextColor(0xFF4CAF50);
            
            String info = String.format(
                "सेंसर: %s\nवेंडर: %s\nवर्जन: %d\nरेंज: %.1f\nरिजॉल्यूशन: %.3f\nपावर: %.3f mA",
                heartBeatSensor.getName(),
                heartBeatSensor.getVendor(),
                heartBeatSensor.getVersion(),
                heartBeatSensor.getMaximumRange(),
                heartBeatSensor.getResolution(),
                heartBeatSensor.getPower()
            );
            sensorStatus.append("\n\n" + info);
        } else {
            sensorStatus.setText("✗ हार्ट बीट सेंसर सपोर्ट नहीं करता");
            sensorStatus.setTextColor(0xFFF44336);
            
            sensorStatus.append("\n\nनोट: अधिकांश फोन में डेडिकेटेड हार्ट रेट सेंसर नहीं होता।\nसैमसंग गैलेक्सी S5-S10, नोट 4-9 में था।\nआधुनिक फोन PPG (फोटोप्लेथिसमोग्राफी) का उपयोग करते हैं।");
        }
    }
}

महत्वपूर्ण नोट्स

  • दुर्लभ सेंसर: डेडिकेटेड TYPE_HEART_BEAT सेंसर केवल कुछ पुराने सैमसंग डिवाइसेज (गैलेक्सी S5-S10, नोट सीरीज) में था
  • आधुनिक विकल्प: अधिकांश फोन कैमरा + फ्लैश का उपयोग करके PPG (फोटोप्लेथिसमोग्राफी) से हार्ट रेट मापते हैं
  • वियरेबल्स: स्मार्टवॉच/फिटनेस बैंड में PPG सेंसर आम हैं
  • TYPE_HEART_RATE (API 20) और TYPE_HEART_BEAT (API 21) अलग-अलग कॉन्स्टेंट हैं

हार्ट रेट मापने के वैकल्पिक तरीके

// 1. कैमरा-आधारित PPG (अधिकांश फोन पर काम करता है)
// लाइब्रेरी: Google Fit API, या कस्टम कैमरा प्रीव्यू विश्लेषण

// 2. Google Fit API से हार्ट रेट डेटा पढ़ें
// निर्भरता: implementation 'com.google.android.gms:play-services-fitness:21.0.0'

// 3. ब्लूटूथ हार्ट रेट मॉनिटर (BLE GATT प्रोफाइल)
// ब्लूटूथ LE डिवाइस से कनेक्ट करें

सेंसर उपलब्धता जांचने का सामान्य पैटर्न

public boolean hasSensor(int sensorType) {
    SensorManager sm = (SensorManager) getSystemService(SENSOR_SERVICE);
    return sm.getDefaultSensor(sensorType) != null;
}

// उपयोग
boolean hasHeartBeat = hasSensor(Sensor.TYPE_HEART_BEAT);
boolean hasHeartRate = hasSensor(Sensor.TYPE_HEART_RATE);
boolean hasStepCounter = hasSensor(Sensor.TYPE_STEP_COUNTER);

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

  1. वास्तविक डिवाइस पर ऐप चलाएं
  2. अधिकांश आधुनिक फोन "सपोर्ट नहीं करता" दिखाएंगे
  3. पुराने सैमसंग फ्लैगशिप (S5-S10) पर true दिख सकता है

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

  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: