TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String imei = tm.getDeviceId(); // API 26+ 建議用 getImei() 需權限
// 顯示在 TextView
TextView tv = findViewById(R.id.imei_text);
tv.setText("IMEI: " + imei);
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
Android 6.0+ (API 23) 需動態請求權限:
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.READ_PHONE_STATE}, 100);
} else {
showImei();
}
getDeviceId() 在 API 29+ 可能回傳 null,建議改用 Settings.Secure.ANDROID_ID 或 TelephonyManager.getImei() (需權限)getDeviceId(int slotIndex)若需在任意畫面顯示(如原詢問),使用 WindowManager.addView() 加入系統覆蓋層,需 SYSTEM_ALERT_WINDOW 權限。