Начиная с Android 8, вам нужно использовать getImei (int slotIndex) для получения IMEI устройства.
Вам также необходимо добавить разрешение <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
в свой AndroidManifest.xml
Не забудьте реализовать модель разрешений для запроса разрешений во время выполнения следующим образом:
ActivityCompat.requestPermissions(MainActivity.this,
new String[]{Manifest.permission.READ_PHONE_STATE},
1);
@Override
public void onRequestPermissionsResult(int requestCode,
String permissions[], int[] grantResults) {
switch (requestCode) {
case 1: {
// If request is cancelled, the result arrays are empty.
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
//continue using `getImei()` or `getDeviceId()`
} else {
//Use device Id or use fallback case
}
return;
}
}
}