Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在android 4.1.2上获取手机号码?_Java_Android - Fatal编程技术网

Java 如何在android 4.1.2上获取手机号码?

Java 如何在android 4.1.2上获取手机号码?,java,android,Java,Android,我想获得自己手机的手机号码,以便将此部分添加到我的应用程序中 我在寻找这个问题 模拟器上的代码正确,但在设备中显示为空 public String getMyPhoneNumber() { return ((TelephonyManager) getSystemService(TELEPHONY_SERVICE)) .getLine1Number(); } 以及: 但它是否返回空值。那么,我如何获取电话号码的详细信息呢?您使用

我想获得自己手机的手机号码,以便将此部分添加到我的应用程序中

我在寻找这个问题

模拟器上的代码正确,但在设备中显示为空

public String getMyPhoneNumber()
    {
        return ((TelephonyManager) getSystemService(TELEPHONY_SERVICE))
                .getLine1Number();
    }
以及:



但它是否返回空值。那么,我如何获取电话号码的详细信息呢?

您使用的方法是SDK中唯一可以实现这一点的部分,并且仅适用于电话号码存储在SIM卡上的设备,只有一些运营商可以这样做。对于所有其他运营商,您必须要求用户手动输入电话号码,因为该号码根本不存储在设备上您可以检索的任何位置。

转到设置->关于设备->状态->我的电话号码如果我的电话号码未知,您将无法获得手机号码。。因为一些移动网络不会提供手机号码

如果我的手机号码有号码,你可以通过以下代码获得手机

TelephonyManager tManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
    phoneNumber = tManager.getLine1Number();
答复来自:

“由于电话号码并非物理存储在所有SIM卡上,也不是从网络广播到手机,因此无法保证解决此问题。这在一些需要物理地址验证的国家尤其如此,数字分配只能在之后进行。电话号码分配在网络上进行,并且可以在不更改SIM卡或设备的情况下进行更改(例如,这就是支持移植的方式)


我知道这很痛苦,但最有可能的解决办法是让用户输入他/她的电话号码一次并存储它。”

您的代码应该没问题,但您需要将SIM卡插入手机中。此外,正如autocrat指出的,如果该号码没有存储在SIM卡上,您将得到一个空字符串

编辑:另外,请检查Pontus Backlund提供的链接,那里有一些好信息

TelephonyManager tManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
    phoneNumber = tManager.getLine1Number();