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

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

एंड्रॉइड में एंबिएंट तापमान सेंसर सपोर्ट जांचें

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

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

</LinearLayout>

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

package com.example.temperaturecheck;

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

        checkTemperatureSupport();
    }

    private void checkTemperatureSupport() {
        // एंबिएंट तापमान सेंसर (परिवेश तापमान)
        Sensor tempSensor = sensorManager.getDefaultSensor(Sensor.TYPE_AMBIENT_TEMPERATURE);

        if (tempSensor != null) {
            sensorStatus.setText("✓ तापमान सेंसर सपोर्ट करता है");
            sensorStatus.setTextColor(0xFF4CAF50);
            
            String info = String.format(
                "सेंसर: %s\nवेंडर: %s\nवर्जन: %d\nरेंज: %.1f °C\nरिजॉल्यूशन: %.3f °C\nपावर: %.3f mA\nन्यूनतम डिले: %d µs",
                tempSensor.getName(),
                tempSensor.getVendor(),
                tempSensor.getVersion(),
                tempSensor.getMaximumRange(),
                tempSensor.getResolution(),
                tempSensor.getPower(),
                tempSensor.getMinDelay()
            );
            sensorStatus.append("\n\n" + info);
        } else {
            sensorStatus.setText("✗ एंबिएंट तापमान सेंसर सपोर्ट नहीं करता");
            sensorStatus.setTextColor(0xFFF44336);
            
            sensorStatus.append("\n\nमहत्वपूर्ण नोट्स:\n" +
                "• अधिकांश स्मार्टफोन में डेडिकेटेड एंबिएंट तापमान सेंसर नहीं होता\n" +
                "• CPU/बैटरी तापमान सेंसर आंतरिक होते हैं (TYPE_AMBIENT_TEMPERATURE नहीं)\n" +
                "• कुछ रग्ड फोन (CAT, Blackview, Doogee) में होता है\n" +
                "• सैमसंग गैलेक्सी S4, नोट 3 में था (हटाया गया)\n" +
                "• विकल्प: मौसम API, ब्लूटूथ थर्मामीटर, IR सेंसर");
        }
    }
}

तापमान सेंसर प्रकार

आंतरिक तापमान पढ़ना (गैर-SDK, रूट/विशेषाधिकार की आवश्यकता)

// थर्मल जोन फाइल्स पढ़ें (रूट/सिस्टम ऐप चाहिए)
File[] thermalZones = new File("/sys/class/thermal").listFiles();
for (File zone : thermalZones) {
    File tempFile = new File(zone, "temp");
    if (tempFile.exists()) {
        String temp = readFile(tempFile); // मिलीसेल्सियस में
    }
}

// बैटरी तापमान (कोई परमिशन नहीं)
IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = registerReceiver(null, filter);
int temp = batteryStatus.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, 0); // डेसी-डिग्री सेल्सियस
float tempC = temp / 10.0f;

तापमान प्राप्त करने के व्यावहारिक तरीके

  1. मौसम API: OpenWeatherMap, WeatherAPI, AccuWeather (GPS/नेटवर्क लोकेशन से)
  2. ब्लूटूथ थर्मामीटर: BLE GATT थर्मामीटर प्रोफाइल (0x1809)
  3. IR थर्मामीटर अटैचमेंट: FLIR ONE, Seek Thermal
  4. कैमरा-आधारित: थर्मल इमेजिंग अटैचमेंट

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

  1. वास्तविक डिवाइस पर चलाएं
  2. अधिकांश फोन "सपोर्ट नहीं करता" दिखाएंगे
  3. रग्ड फोन (CAT S61, Blackview BV9900, आदि) पर 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:

© कॉपीराइट https://in.wsxdn.com सर्वाधिकार सुरक्षित
सेंसर टाइपमापता हैउपलब्धता
TYPE_AMBIENT_TEMPERATUREपरिवेश/कमरे का तापमान (°C)दुर्लभ (कुछ रग्ड फोन)
TYPE_SKIN_TEMPERATUREत्वचा तापमान (API 31+)वियरेबल्स (घड़ियाँ)
आंतरिकCPU/बैटरी तापमानसभी फोन (लेकिन SDK एक्सेस नहीं)