एंड्रॉइड में डिवाइस आईडी प्राप्त करने का पूरा गाइड
यह ट्यूटोरियल आपको एंड्रॉइड ऐप में डिवाइस की यूनिक आईडी (IMEI/MEID) प्राप्त करना सिखाता है। ध्यान दें कि एंड्रॉइड 10 (API 29) से Google ने डिवाइस आईडी एक्सेस पर प्रतिबंध लगा दिए हैं, इसलिए आधुनिक ऐप्स को अन्य पहचानकर्ताओं का उपयोग करना चाहिए।
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio खोलें, File → New Project चुनें और आवश्यक विवरण भरकर नया प्रोजेक्ट बनाएं।
चरण 2: लेआउट फ़ाइल में UI जोड़ें (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:gravity="center"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical">
<TextView
android:id="@+id/text"
android:textSize="30sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
यहां एक TextView लिया गया है जो डिवाइस आईडी प्रदर्शित करेगा।
चरण 3: MainActivity में कोड जोड़ें (java/MainActivity.java)
package com.example.myapplication;
import android.Manifest;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import static android.Manifest.permission.READ_PHONE_NUMBERS;
import static android.Manifest.permission.READ_PHONE_STATE;
import static android.Manifest.permission.READ_SMS;
public class MainActivity extends AppCompatActivity {
private static final int PERMISSION_REQUEST_CODE = 100;
TextView textView;
TelephonyManager telephonyManager;
@RequiresApi(api = Build.VERSION_CODES.P)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.text);
telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
// रनटाइम परमिशन जांचें
if (ActivityCompat.checkSelfPermission(this, READ_SMS) != PackageManager.PERMISSION_GRANTED &&
ActivityCompat.checkSelfPermission(this, READ_PHONE_NUMBERS) != PackageManager.PERMISSION_GRANTED &&
ActivityCompat.checkSelfPermission(this, READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
new String[]{READ_SMS, READ_PHONE_NUMBERS, READ_PHONE_STATE},
PERMISSION_REQUEST_CODE);
} else {
// परमिशन पहले से है, डिवाइस आईडी प्राप्त करें
String deviceId = getDeviceIdSafely();
textView.setText(deviceId);
}
}
@RequiresApi(api = Build.VERSION_CODES.P)
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == PERMISSION_REQUEST_CODE) {
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_SMS) == PackageManager.PERMISSION_GRANTED ||
ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_NUMBERS) == PackageManager.PERMISSION_GRANTED ||
ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
String deviceId = getDeviceIdSafely();
textView.setText(deviceId);
} else {
textView.setText("परमिशन अस्वीकृत");
}
}
}
// सुरक्षित तरीके से डिवाइस आईडी प्राप्त करने की विधि
private String getDeviceIdSafely() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
// एंड्रॉइड 10+ के लिए getDeviceId() डिप्रिकेटेड है
return "एंड्रॉइड 10+ में डिवाइस आईडी एक्सेस प्रतिबंधित";
} else {
return telephonyManager.getDeviceId();
}
}
}
चरण 4: AndroidManifest.xml में परमिशन जोड़ें
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
package="com.example.myapplication">
<uses-permission android:name="android.permission.READ_PHONE_NUMBERS" />
<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>
महत्वपूर्ण नोट्स
- एंड्रॉइड 6.0 (API 23)+ पर रनटाइम परमिशन अनिवार्य है
- एंड्रॉइड 10 (API 29)+ पर
getDeviceId()डिप्रिकेटेड है औरSecurityExceptionफेंक सकता है - आधुनिक ऐप्स के लिए
Settings.Secure.ANDROID_IDया Advertising ID का उपयोग करें - READ_SMS परमिशन की आवश्यकता नहीं है डिवाइस आईडी के लिए, इसे हटाया जा सकता है
ऐप चलाएं
अपने एंड्रॉइड डिवाइस को कंप्यूटर से कनेक्ट करें, Android Studio में Run आइकन पर क्लिक करें और अपना डिवाइस चुनें। ऐप लॉन्च होगा और डिवाइस आईडी दिखाएगा (या प्रतिबंध संदेश)।