Java 如何以编程方式获取电话号码?
我想通过编程在Android Studio中获取电话号码。 我试过这个:(而且它会导致崩溃) 怎么了?是否有其他方式获取电话号码?您需要添加Java 如何以编程方式获取电话号码?,java,android,Java,Android,我想通过编程在Android Studio中获取电话号码。 我试过这个:(而且它会导致崩溃) 怎么了?是否有其他方式获取电话号码?您需要添加 manifest+请求对较新android版本的运行时权限。 否则,您可以在stacktrace中看到解释错误。我认为您需要 与 在活动/片段中 @Override public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResul
manifest+请求对较新android版本的运行时权限。
否则,您可以在stacktrace中看到解释错误。我认为您需要
与
在活动/片段中
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
if (requestCode == MY_PERMISSIONS_REQUEST_READ_PHONE_STATE) {
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
String phoneNumber = getMyPhoneNO();
}
}
}
检查此项,请发布带有错误的日志
if (ContextCompat.checkSelfPermission(thisActivity,
Manifest.permission.READ_PHONE_STATE)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(thisActivity,
new String[]{Manifest.permission.READ_PHONE_STATE},
MY_PERMISSIONS_REQUEST_READ_PHONE_STATE);
}
private String getMyPhoneNO() {
TelephonyManager tMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String mPhoneNumber = tMgr.getLine1Number();
return mPhoneNumber;
}
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.READ_PHONE_STATE)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.READ_PHONE_STATE},
MY_PERMISSIONS_REQUEST_READ_PHONE_STATE);
} else {
String phoneNumber = getMyPhoneNO();
}
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
if (requestCode == MY_PERMISSIONS_REQUEST_READ_PHONE_STATE) {
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
String phoneNumber = getMyPhoneNO();
}
}
}