当我尝试获取设备的 IMEI 时,它向我抛出以下错误:The user 10618 does not meet the requirements to access device identifiers.
这在我更新手机后开始发生,因为在此之前,如果值得的话,我认为它与过时的 API 有关,我会如果您能帮我解决错误,将不胜感激。
MANIFEST 中的权限
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.SEND_SMS" />
JAVA 代码的一部分,当我尝试获取 IMEI 时,错误指示我: imei = tm.getImei(); //el sistema me arroja que aqui es el error
@RequiresApi(api = Build.VERSION_CODES.O)
@SuppressLint("WrongViewCast")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
escribe_imei = findViewById(R.id.textView8446);
String imei = "";
int permisI = ContextCompat.checkSelfPermission(MainActivity.this,Manifest.permission.READ_PHONE_STATE);
if(permisI == PackageManager.PERMISSION_GRANTED){
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
tm = (TelephonyManager)getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE);
imei = tm.getImei(); //el sistema me arroja que aqui es el error
final String imeitoprocess = imei;
escribe_imei.setText(imeitoprocess);
} else {
tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
imei = tm.getDeviceId();
final String imeitoprocess = imei;
escribe_imei.setText(imeitoprocess);
}
}else{
ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.READ_PHONE_STATE},123);
}
从 Android 10 访问受限标识符(例如 IMEI)占用了“签名权限” READ_PRIVILEGED_PHONE_STATE
。但是您无法使用该权限在 Google 商店中发布您的应用。
您可以在https://developer.android.com/about/versions/10/privacy/changes找到更多信息
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句