Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Android

วิธีเข้าถึง ID อุปกรณ์ Android ที่ไม่ซ้ำ?


หากคุณต้องการตรวจสอบรหัสอุปกรณ์ที่ไม่ซ้ำกัน เช่น หมายเลข IMEI ผ่านโปรแกรม เราสามารถทำได้โดยใช้เครื่องจัดการโทรศัพท์ดังที่แสดงด้านล่าง -

ขั้นตอนที่ 1 − สร้างโครงการใหม่ใน Android Studio ไปที่ไฟล์ ⇒ โครงการใหม่และกรอกรายละเอียดที่จำเป็นทั้งหมดเพื่อสร้างโครงการใหม่

ขั้นตอนที่ 2 − เพิ่มรหัสต่อไปนี้ใน res/layout/activity_main.xml

<รุ่นก่อนหน้า> <ปุ่ม android:id ="@+id/button" android:layout_width ="wrap_content" android:layout_height ="wrap_content" android:text ="คลิกที่นี่เพื่อซ่อน" app:layout_constraintBottom_toBottomOf =แอป "พาเรนต์":layout_constraintLeft_toLeftOf =แอป "พาเรนต์":layout_constraintRight_toRightOf =แอป "พาเรนต์":layout_constraintTop_toTopOf ="พาเรนต์" />

ขั้นตอนที่ 3 − เพิ่มรหัสต่อไปนี้ใน src/MainActivity.java

<ก่อนหน้า>นำเข้า android.Manifest;นำเข้า android.annotation.SuppressLint;นำเข้า android.app.ProgressDialog;นำเข้า android.content.pm.PackageManager;นำเข้า android.os.Build;นำเข้า android.os.Bundle;นำเข้า android.os Handler;นำเข้า android.support.annotation.RequiresApi;นำเข้า android.support.v4.app.ActivityCompat;นำเข้า android.support.v7.app.AppCompatActivity;นำเข้า android.telephony.TelephonyManager;นำเข้า android.view.View;นำเข้า android view.inputmethod.InputMethodManager;นำเข้า android.widget.Button;นำเข้า android.widget.EditText;นำเข้า android.widget.ProgressBar;นำเข้า android.widget.Toast;คลาสสาธารณะ MainActivity ขยาย AppCompatActivity ที่ใช้ View.OnClickListener { TelephonyManager telephonyManager; @Override ป้องกันโมฆะ onCreate (Bundle saveInstanceState) { super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); ปุ่มปุ่ม =findViewById(R.id.button); button.setOnClickListener (นี้); } @RequiresApi(api =Build.VERSION_CODES.O) @Override public void onClick(View v) { switch (v.getId()) { case R.id.button:deviceId(); หยุดพัก; } } โมฆะ deviceId ส่วนตัว () { telephonyManager =(TelephonyManager) getSystemService (this.TELEPHONY_SERVICE); ถ้า (ActivityCompat.checkSelfPermission (นี่, Manifest.permission.READ_PHONE_STATE) !=PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions (นี่ สตริงใหม่[]{Manifest.permission.READ_PHONE_STATE}, 101); กลับ; } } @แทนที่โมฆะสาธารณะ onRequestPermissionsResult (int requestCode, String[] permissions, int[] grantResults){ switch (requestCode) { case 101:if (grantResults[0] ==PackageManager.PERMISSION_GRANTED) { if (ActivityCompat.checkSelfPermission(นี้) , Manifest.permission.READ_PHONE_STATE) !=PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions (นี่ สตริงใหม่ []{Manifest.permission.READ_PHONE_STATE}, 101); กลับ; } สตริง imeiNumber =telephonyManager.getDeviceId(); Toast.makeText(MainActivity.this,imeiNumber,Toast.LENGTH_LONG).show(); } อื่น { Toast.makeText(MainActivity.this,"เราตรวจสอบโดยไม่ได้รับอนุญาต",Toast.LENGTH_LONG).show(); } หยุดพัก; ค่าเริ่มต้น:super.onRequestPermissionsResult (requestCode, สิทธิ์, GrantResults); } }}

ในโค้ดด้านบนนี้ เราให้สิทธิ์รันไทม์ในการอ่านสถานะโทรศัพท์ หากไม่มีสถานะโทรศัพท์ เราไม่สามารถรับรหัสอุปกรณ์ได้ สำหรับรหัสอุปกรณ์ ให้เพิ่มรหัสต่อไปนี้ในโครงการของคุณ

TelephonyManager telephonyManager;telephonyManager =(TelephonyManager) getSystemService(this.TELEPHONY_SERVICE);String imeiNumber =telephonyManager.getDeviceId();

ขั้นตอนที่ 4 − เพิ่มรหัสต่อไปนี้ใน AndroidManifest.xml

      <หมวดหมู่ android:name ="android.intent.category.LAUNCHER" />   

ในรหัสข้างต้นเราได้ประกาศสิทธิ์ในการอ่านสถานะโทรศัพท์ มันจะอ่านสถานะโทรศัพท์ทั้งหมด

มาลองเรียกใช้แอปพลิเคชันของคุณกัน ฉันคิดว่าคุณได้เชื่อมต่ออุปกรณ์มือถือ Android จริงกับคอมพิวเตอร์ของคุณ ในการรันแอพจาก android studio ให้เปิดไฟล์กิจกรรมของโปรเจ็กต์ของคุณแล้วคลิก Run วิธีเข้าถึง ID อุปกรณ์ Android ที่ไม่ซ้ำ? ไอคอนจากแถบเครื่องมือ เลือกอุปกรณ์มือถือของคุณเป็นตัวเลือก จากนั้นตรวจสอบอุปกรณ์มือถือของคุณซึ่งจะแสดงหน้าจอเริ่มต้นของคุณ

วิธีเข้าถึง ID อุปกรณ์ Android ที่ไม่ซ้ำ?

เมื่อคุณคลิกที่ปุ่ม มันจะถามการอนุญาตรันไทม์จากผู้ใช้ ผู้ใช้ควรอนุญาตให้รับหมายเลข IMEI ดังที่แสดงด้านล่าง

วิธีเข้าถึง ID อุปกรณ์ Android ที่ไม่ซ้ำ?

ในรหัสข้างต้น เราได้หมายเลข IMEI หรือหมายเลขเฉพาะ (เพื่อเหตุผลด้านความปลอดภัย เราซ่อนหมายเลขเฉพาะของเรา)

วิธีเข้าถึง ID อุปกรณ์ Android ที่ไม่ซ้ำ?

เมื่อผู้ใช้ปฏิเสธการอนุญาตรันไทม์ มันจะแสดงเหมือนข้อความด้านบน