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

Kotlin का उपयोग करके Android में रिंगर मोड (साइलेंट/वाइब्रेट/नॉर्मल) कैसे डिटेक्ट करें?

यह उदाहरण दर्शाता है कि Kotlin का उपयोग करके Android डिवाइस का वर्तमान रिंगर मोड (साइलेंट, वाइब्रेट, नॉर्मल) कैसे डिटेक्ट किया जाता है। AudioManager का उपयोग किया जाता है।

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

Android Studio खोलें, File → New Project पर जाएं और नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।

चरण 2: activity_main.xml में UI जोड़ें

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:padding="16dp"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="50dp"
        android:text="Tutorials Point"
        android:textAlignment="center"
        android:textColor="@android:color/holo_green_dark"
        android:textSize="32sp"
        android:textStyle="bold" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="Detect Android ringer mode"
        android:textAlignment="center"
        android:textColor="@android:color/holo_red_dark"
        android:textSize="24sp"
        android:textStyle="bold" />

</RelativeLayout>

चरण 3: MainActivity.kt में रिंगर मोड चेक करें

import android.content.Context
import android.media.AudioManager
import android.os.Bundle
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import java.util.*

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        title = "KotlinApp"

        val am = getSystemService(Context.AUDIO_SERVICE) as AudioManager
        when (Objects.requireNonNull(am).ringerMode) {
            AudioManager.RINGER_MODE_SILENT -> Toast.makeText(
                this@MainActivity,
                "Silent Mode",
                Toast.LENGTH_SHORT
            ).show()
            AudioManager.RINGER_MODE_VIBRATE -> Toast.makeText(
                this@MainActivity,
                "Vibrate Mode",
                Toast.LENGTH_SHORT
            ).show()
            AudioManager.RINGER_MODE_NORMAL -> Toast.makeText(
                this@MainActivity,
                "Normal Mode",
                Toast.LENGTH_SHORT
            ).show()
        }
    }
}

चरण 4: रिंगर मोड प्रोग्रामेटिकली बदलना

val audioManager = getSystemService(Context.AUDIO_SERVICE) as AudioManager

// साइलेंट मोड सेट करें
audioManager.ringerMode = AudioManager.RINGER_MODE_SILENT

// वाइब्रेट मोड सेट करें
audioManager.ringerMode = AudioManager.RINGER_MODE_VIBRATE

// नॉर्मल मोड सेट करें
audioManager.ringerMode = AudioManager.RINGER_MODE_NORMAL

// डू नॉट डिस्टर्ब मोड चेक करना (API 23+)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    val isDndOn = NotificationManagerCompat.from(this).isNotificationPolicyAccessGranted
}

चरण 5: AndroidManifest.xml कॉन्फ़िगर करें

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="com.example.q11">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
</manifest>

ऐप चलाएं

अपने Android डिवाइस को कंप्यूटर से कनेक्ट करें। Android Studio में किसी एक्टिविटी फ़ाइल को खोलें और टूलबार से Run आइकन पर क्लिक करें। अपना मोबाइल डिवाइस चुनें और ऐप चलने पर डिफ़ॉल्ट स्क्रीन देखें।

नोट: लेख का शीर्षक "User Agent Type" भ्रामक है - यह वास्तव में Ringer Mode (ऑडियो प्रोफाइल) डिटेक्ट करता है। वास्तविक User Agent String के लिए: System.getProperty("http.agent") या WebSettings.getDefaultUserAgent() का उपयोग करें।

  1. एंड्रॉइड में एक्टिविटी में होम की प्रेस कैसे डिटेक्ट करें? एंड्रॉइड में एक्टिविटी में होम की प्रेस कैसे डिटेक्ट करें?

    एंड्रॉइड में होम बटन प्रेस डिटेक्शन यह गाइड onUserLeaveHint() लाइफसाइकिल मेथड का उपयोग करके होम बटन प्रेस डिटेक्ट करने का तरीका बताता है, और इसकी सीमाओं को स्पष्ट करता है। महत्वपूर्ण: सीमाएं ⚠️ नोट: एंड्रॉइड सुरक्षा कारणों से होम बटन को सीधे इंटरसेप्ट या ब्लॉक करने की अनुमति नहीं देता। on

  1. एंड्रॉइड में ऑडियो/रिंगर मोड कैसे डिटेक्ट करें एंड्रॉइड में ऑडियो/रिंगर मोड कैसे डिटेक्ट करें

    AudioManager का उपयोग करके डिवाइस का रिंगर मोड (साइलेंट, वाइब्रेट, नॉर्मल) जांचना एंड्रॉइड में AudioManager सिस्टम सर्विस के माध्यम से वर्तमान रिंगर मोड का पता लगाया जा सकता है। यह ऐप्स को यूजर की साउंड प्राथमिकताओं के अनुसार व्यवहार समायोजित करने की अनुमति देता है (जैसे: गेम में साउंड म्यूट करना यद

  1. Android में 5 सेकंड यूजर इनएक्टिविटी कैसे डिटेक्ट करें? Android में 5 सेकंड यूजर इनएक्टिविटी कैसे डिटेक्ट करें?

    यह उदाहरण दर्शाता है कि Handler और onUserInteraction() का उपयोग करके Android में यूजर इनएक्टिविटी (कोई टच/की इवेंट नहीं) को कैसे डिटेक्ट किया जाता है। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project। चरण 2: लेआउट XML res/layout/activity_main.xml: <?xml version=1.0 encoding=utf-