问题描述
我正在尝试获取电话号码,但 Android Studio 显示此警告。
不推荐使用 getLine1Number 来获取设备标识符
TelephonyManager telephonyManager = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE);
if (ActivityCompat.checkSelfPermission(this,Manifest.permission.READ_SMS) == PackageManager.PERMISSION_GRANTED
|| ActivityCompat.checkSelfPermission(this,Manifest.permission.READ_PHONE_NUMBERS) == PackageManager.PERMISSION_GRANTED || ActivityCompat.checkSelfPermission(this,Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
phoneNumber = telephonyManager.getLine1Number();
}
也在相同的设备中getLine1Number()
抛出一个SecurityException
为什么不推荐?
解决方法
我一直在穿同样的东西,发现这里都有解释:https://developer.android.com/training/articles/user-data-ids