यह उदाहरण दर्शाता है कि 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() का उपयोग करें।