Как получить номер IMEI / ESN устройства с программированием кода Но в android> 6

Моя версия Android — Marshmallow 6.0

Как найти/получить номер imei в android> 6 программно .

Примечание. Я добавил разрешение READ_PHONE_STATE в файл AndroidManifest.xml.

     

И внутри MainActivity

  TelephonyManager manager = (TelephonyManager) getSystemService (Context.TELEPHONY_SERVICE)  ; String deviceid = manager.getDeviceId ();//Идентификатор устройства - это IMEI numberLog.d ("msg", "Device id" + deviceid);  

Моя версия Android — Marshmallow 6.0

Примечание: вам нужны разрешения времени выполнения

Я добавил Разрешение READ_PHONE_STATE в файле AndroidManifest.xml.

     

в MainActivity:

  private s  tatic final int PERMISSIONS_REQUEST_READ_PHONE_STATE = 999; частный TelephonyManager mTelephonyManager; защищенная пустота onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState);  setContentView (R.layout.activity_main);  if (checkSelfPermission (Manifest.permission.READ_PHONE_STATE)! = PackageManager.PERMISSION_GRANTED) {requestPermissions (new String [] {Manifest.permission.READ_PHONE_STATE}, PERMISSIONS_REQUEST_READ_PHONE_STATE);  } еще {getDeviceImei ();  } .... @ Overridepublic void onRequestPermissionsResult (int requestCode, String [] permissions, int [] grantResults) {if (requestCode == PERMISSIONS_REQUEST_READ_PHONE_STATE && grantResults [0] == PackageManager.PERMISSION_GRANTEDI (getDevice);  }} private void getDeviceImei () {mTelephonyManager = (TelephonyManager) getSystemService (Context.TELEPHONY_SERVICE);  Строка deviceid = mTelephonyManager.getDeviceId ();  Log.d ("msg", "DeviceImei" + deviceid);}  

Также Метод getDeviceId () устарел на уровне API 26, поэтому вам нужно использовать getImei () или getAllCellInfo () для получения сведений о imei.


Требуется разрешение: READ_PHONE_STATE

  /** * Получает уникальный идентификатор устройства с именем IMEI.  Иногда это возвращает 00000000000000000 для * корневых устройств.  **/общедоступная статическая строка getDeviceImei (Context ctx) {TelephonyManager telephonyManager = (TelephonyManager) ctx.getSystemService (Context.TELEPHONY_SERVICE);  Log.i (Тег, «Вернуть количество симов в устройстве:» + manager.getPhoneCount ());  Log.i (Тег, «Идентификатор устройства по умолчанию:» + manager.getDeviceId ());  Log.i (тег, «IMEI первой SIM-карты:» + manager.getDeviceId (0));  Журнал. i (Тег, "Secand Sim IMEI" + manager.getDeviceId (1));  return telephonyManager.getDeviceId ();}  

Вернуть null, если идентификатор устройства недоступен.

1

Оцените статью
motary.ru
Добавить комментарий