android 10.0 获取手机号码
时间: 2023-10-18 10:01:20 浏览: 175
Android获取手机号码
3星 · 编辑精心推荐
在 Android 10.0 中,为了保护用户的隐私,获取手机号码需要用户授权。你可以使用以下代码来请求用户授权并获取手机号码:
```java
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_NUMBERS) == PackageManager.PERMISSION_GRANTED) {
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String phoneNumber = tm.getLine1Number();
}
else {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_PHONE_NUMBERS}, PERMISSION_REQUEST_PHONE_NUMBER);
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (requestCode == PERMISSION_REQUEST_PHONE_NUMBER) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 用户已授权,可以获取手机号码
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String phoneNumber = tm.getLine1Number();
}
else {
// 用户未授权,无法获取手机号码
}
}
}
```
请注意,即使用户已经授权,也不能保证能够获取到手机号码。有些设备可能无法获取到手机号码或者返回的是空字符串。
阅读全文