Android 找不到电话号码

Android 找不到电话号码,android,Android,我想知道SIM卡的电话号码 我的清单文件是 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ambre.bazarmada" android:versionCode="1" android:versionName="1.0" > <uses-

我想知道SIM卡的电话号码

我的清单文件是

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.ambre.bazarmada"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

    <uses-sdk
        android:minSdkVersion="3"
        android:targetSdkVersion="19" />

    <uses-permission android:name="android.permission.SEND_SMS" />
    ....
    </application>
</manifest>
手机是三星Galaxy S2,问题是函数getPhoneNumber返回null。那么我的代码有什么问题吗?

试试这个

    private String getMyPhoneNumber(){
    TelephonyManager mTelephonyMgr;
    mTelephonyMgr = (TelephonyManager)
        getSystemService(Context.TELEPHONY_SERVICE); 
    return mTelephonyMgr.getLine1Number();
}

private String getMy10DigitPhoneNumber(){
    String s = getMyPhoneNumber();
    return s.substring(2);
}

我认为sim卡序列号和sim卡号码是唯一的。您可以尝试获取sim卡序列号和sim卡号码,并且不要忘记在清单文件中添加权限

TelephonyManager telemamanger = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String getSimSerialNumber = telemamanger.getSimSerialNumber();
String getSimNumber = telemamanger.getLine1Number();
并将以下权限添加到您的Androidmanifest.xml文件中

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>


如果有任何问题,请告诉我。

请确保您已获得许可

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

更多信息,请参见

867 5309。别开玩笑了,检查一下你是否有获取该号码的权限。
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
TelephonyManager telemamanger = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String getSimSerialNumber = telemamanger.getSimSerialNumber();
String getSimNumber = telemamanger.getLine1Number();