परिचय
यह उदाहरण दर्शाता है कि Kotlin का उपयोग करके एंड्रॉइड डिवाइस का सीरियल नंबर कैसे प्राप्त किया जाए। इसके लिए READ_PHONE_STATE परमिशन की आवश्यकता होती है।
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio खोलें, File → New Project पर जाएं और नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।
चरण 2: लेआउट XML कॉन्फ़िगर करें
res/layout/activity_main.xml में निम्नलिखित कोड जोड़ें:
<?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"
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:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/button"
android:layout_centerInParent="true"
android:layout_marginTop="16sp" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:onClick="showDeviceInfo"
android:text="सीरियल नंबर प्राप्त करें" />
</RelativeLayout>
चरण 3: Kotlin कोड लागू करें
src/MainActivity.kt में निम्नलिखित कोड जोड़ें:
import android.Manifest
import android.app.AlertDialog
import android.content.Context
import android.content.pm.PackageManager
import android.os.Build
import android.os.Bundle
import android.telephony.TelephonyManager
import android.view.View
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
class MainActivity : AppCompatActivity() {
private val requestCode = 100
private var checkedPermission = PackageManager.PERMISSION_DENIED
private lateinit var manager: TelephonyManager
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
title = "KotlinApp"
checkedPermission = ContextCompat.checkSelfPermission(
this, Manifest.permission.READ_PHONE_STATE
)
if (Build.VERSION.SDK_INT >= 23 && checkedPermission != PackageManager.PERMISSION_GRANTED) {
requestPermission()
} else {
checkedPermission = PackageManager.PERMISSION_GRANTED
}
}
private fun requestPermission() {
Toast.makeText(this, "परमिशन का अनुरोध कर रहे हैं", Toast.LENGTH_SHORT).show()
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
requestPermissions(arrayOf(Manifest.permission.READ_PHONE_STATE), requestCode)
}
}
fun showDeviceInfo(view: View) {
manager = getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager
val dBuilder = AlertDialog.Builder(this)
val stringBuilder = StringBuilder()
if (checkedPermission != PackageManager.PERMISSION_DENIED) {
dBuilder.setTitle("डिवाइस जानकारी")
stringBuilder.append("""
SERIAL: ${Build.SERIAL}
""".trimIndent())
} else {
dBuilder.setTitle("परमिशन अस्वीकृत")
stringBuilder.append("डिवाइस जानकारी एक्सेस नहीं कर सकते!")
}
dBuilder.setMessage(stringBuilder.toString())
dBuilder.show()
}
override fun onRequestPermissionsResult(
requestCode: Int, permissions: Array<out String>, grantResults: IntArray
) {
when (requestCode) {
this.requestCode -> {
if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
checkedPermission = PackageManager.PERMISSION_GRANTED
}
}
}
}
}
चरण 4: मैनिफेस्ट कॉन्फ़िगर करें
androidManifest.xml में निम्नलिखित कोड जोड़ें:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
package="app.com.q11">
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<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 Studio में प्रोजेक्ट की एक्टिविटी फाइल खोलें और टूलबार से Run आइकन पर क्लिक करें। अपना मोबाइल डिवाइस चुनें और ऐप का डिफॉल्ट स्क्रीन देखें।
महत्वपूर्ण नोट्स
- Build.SERIAL एंड्रॉइड 9+ (API 28+) पर प्रतिबंधित है - केवल सिस्टम ऐप्स या विशेष परमिशन वाले ऐप्स एक्सेस कर सकते हैं
- सामान्य ऐप्स के लिए,
Settings.Secure.getString(contentResolver, Settings.Secure.ANDROID_ID)का उपयोग करें - IMEI/MEID एक्सेस के लिए भी READ_PHONE_STATE परमिशन आवश्यक है