gpt4 book ai didi

java - TelephonyManager.getLine1Number() 返回 null

转载 作者:行者123 更新时间:2023-11-29 19:03:28 27 4
gpt4 key购买 nike

mPhoneNumber 变量返回 null。我已经调试这个东西一个星期了,我非常卡住。为什么 getLine1Number 返回 null?

try
{
TelephonyManager tMgr = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
if (tMgr != null)
{
if (checkSelfPermission(android.Manifest.permission.READ_SMS) != PackageManager.PERMISSION_GRANTED)
{
if (checkSelfPermission(android.Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED)
{
// TODO: Consider calling
// Activity#requestPermissions
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode, String[] permissions,
// int[] grantResults)
// to handle the case where the user grants the permission. See the documentation
// for Activity#requestPermissions for more details.
return;
}
}
String mPhoneNumber = tMgr.getLine1Number();
// Log.v("PHONE: ", mPhoneNumber);
}
else
{
//Log.v("PHONE NO: ", "NO");
}
}
catch(Exception e)
{
// TODO: Handle exception
}

最佳答案

网络提供商并不总是将电话号码 (msisdn) 存储在 SIM 卡上。因此,获取电话号码在很大程度上取决于您使用的移动运营商。

一些运营商在他们的网关通过后将电话号码放在标题中(对于网络浏览器用户);其中一些将 msisdn 直接放在 SIM 卡上;其中一些仅提供“ token ”来识别其用户。

这可能是您在尝试获取号码时得到“空”值的原因。

请查看that也是

关于java - TelephonyManager.getLine1Number() 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48035525/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com