相关疑难解决方法(0)

以编程方式获取Android手机的电话号码

如何以编程方式获取运行我的Android应用程序的设备的电话号码?

android phone-number telephonymanager

431
推荐指数
10
解决办法
40万
查看次数

如何以编程方式获取设备的电话号码

我正在尝试使用以下方法获取电话:

private String getMyPhoneNumber() {
    TelephonyManager mTelephonyMgr;

    mTelephonyMgr = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); 
    //String imsi = mTelephonyMgr.getSubscriberId();
    String phnNo = mTelephonyMgr.getLine1Number();
    if (phnNo == null) {
        phnNo = getNoFromWatsApp();
    }
    return phnNo;
}

private String getNoFromWatsApp(){
    AccountManager am = AccountManager.get(this);
    Account[] accounts = am.getAccounts();
    String phoneNumber = "";

    for (Account ac : accounts) {
        String acname = ac.name;
        String actype = ac.type;
        // Take your time to look at all available accounts
        if(actype.equals("com.whatsapp")) {
            phoneNumber = ac.name;
        }
    }
    return phoneNumber;
}
Run Code Online (Sandbox Code Playgroud)

但每次我得到一个空电话号码.我甚至试图从WhatsApp获得电话号码,但它正在返回"WhatsApp"而不是电话号码.有没有其他方法可以解决这个问题?

android phone-number telephonymanager

26
推荐指数
1
解决办法
5万
查看次数

标签 统计

android ×2

phone-number ×2

telephonymanager ×2