如何在Android中获取我的电话号码?我用的时候:
TelephonyManager tMgr =(TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
String mPhoneNumber = tMgr.getLine1Number();
Run Code Online (Sandbox Code Playgroud)
并使用:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
Run Code Online (Sandbox Code Playgroud)
它返回null,为什么?
Ram*_*Ram 11
如果您调用的函数返回null,则表示您的电话号码未在联系人列表中注册.
如果您只需要一个唯一的号码而不是电话号码,您可以使用SIM卡的序列号:
TelephonyManager telemamanger = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String getSimSerialNumber = telemamanger.getSimSerialNumber();
Run Code Online (Sandbox Code Playgroud)
作为回答这里
使用以下代码:
TelephonyManager tMgr = (TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE);
String mPhoneNumber = tMgr.getLine1Number();
Run Code Online (Sandbox Code Playgroud)
在AndroidManifest.xml中,授予以下权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
Run Code Online (Sandbox Code Playgroud)
但请记住,此代码并不总是有效,因为手机号码取决于SIM卡和网络运营商/手机运营商.
此外,尝试检查电话 - >设置 - >关于 - >电话身份,如果您能够在那里查看号码,从上面的代码获取电话号码的概率更高.如果您无法在设置中查看电话号码,那么您将无法通过此代码获取!
建议的解决方法:
在应用程序首次启动时,将上述4个步骤作为一次性活动.稍后,只要需要电话号码,请使用共享首选项中的可用值.
归档时间: |
|
查看次数: |
99394 次 |
最近记录: |