java - 以编程方式检索手机号码?
问题描述
public void get(View view) {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE)
!= PackageManager.PERMISSION_GRANTED) {
// Permission is not granted
phone.setText("Not granted");
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.READ_PHONE_STATE},
MY_PERMISSIONS_REQUEST_READ_CONTACTS);
}
else {
phone.setText("Granted");
TelephonyManager mTelephonyMgr;
mTelephonyMgr = (TelephonyManager) getSystemService
(Context.TELEPHONY_SERVICE);
String number = mTelephonyMgr.getLine1Number();
//String number = getMyPhoneNO();
if (number.matches("")) {
phone.setText("There is no number");
}
else {
phone.setText(number);
}
}
解决方案
尝试在 AndroidManifest.xml 中提及读取手机状态所需的权限
例如。
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
这将授予您的应用程序可以读取您的 android 手机状态的权限
推荐阅读
- r - R+dplyr:有条件地交换两列的元素
- vba - 保存为 PDF 的问题,文件名的问题
- javascript - 我在 App.js 文件中收到了 Unexpected 令牌,请告诉我
- flutter - 有没有办法在带有可选 AR 过滤器的颤振应用程序中实现视频聊天?
- android - 是否有一个反应本机库允许服务器使用客户端应用程序作为 https 代理发出 Web 请求?
- reactjs - 如何使用 Jest 测试 React 函数组件状态?
- javascript - 带有 3 个参数的 JQuery 3.3.1 attr。它能做什么?
- javascript - 使用 mousedown 和 mouseup 的 Javascript 画布动画
- ubuntu-20.04 - Ubuntu 20.04 是否支持亚马逊工作区客户端?
- vb.net - 为什么 Visual Studio Community Mac 2019 告诉我添加对“的引用”
“?