我有android 10我想获取IMEI下面是我的清单设置
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
下面是我的Java代码,以获得IMEI,但我得到了上面的错误。
Button btnAuth = findViewById(R.id.button);
TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
btnAuth.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
Log.i("huwa ", telephonyManager.getImei());
}catch(Exception e){
Log.i("huwa ", e.toString());
}
}
});
2条答案
按热度按时间tcomlyy61#
你无法获取READ_PRIVILEGED_PHONE_STATE。它仅适用于特权系统应用。除非这是个人应用,并且你具有根设备,以便你可以将你的应用设置为特权系统应用。
uhry853o2#
如文档所述,对不可重置的器械标识符有限制。
从Android 10开始,应用必须拥有READ_PRIVILEGED_PHONE_STATE特权权限才能访问设备的不可重置标识符,其中包括IMEI和序列号。
注意:从Google Play商店安装的第三方应用无法声明特权权限。
参考:https://developer.android.com/about/versions/10/privacy/changes#non-resettable-device-ids