【发布时间】:2020-04-20 12:58:33
【问题描述】:
我了解到 Android 10 的隐私更改,我很清楚第三方应用现在无法获取 IMEI。 但是documentation 的一件事让我很困惑。
他们说
如果您的应用面向 Android 9(API 级别 28)或更低版本,并且该应用具有 READ_PHONE_STATE 权限,则该方法会返回 null 或占位符数据。否则,会发生 SecurityException。
这意味着在 API LEVEL 28 或更低的 Android 设备上,此方法返回 null 或 placeholder 数据,即使应用程序具有 READ_PHONE_STATE 权限。对吧?
但是我已经在我的应用程序上测试了这个东西,目标是API LEVEL 28,我仍然可以通过以下方式获得IMEI number。
if (ActivityCompat.checkSelfPermission(context, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
fragment.requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE}, REQUEST_CODE);
}
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
String deviceId = telephonyManager.getImei();
它不应该给我发送NULL 或占位符(垃圾)数据吗?
有什么想法吗?还是我误解了?
【问题讨论】:
标签: android permissions imei