Cordova / Phonegap 获取 phone 设备数量 (Android & iOS)

Cordova / Phonegap get phone number of device (Android & iOS)

是否可以使用 Phonegap/Cordova 开发混合移动应用程序并为 Android 和 iOS 访问设备 phone 号码?

iOS: 您可以使用 CoreTelephony 框架检索 phone 号码,您需要添加以下权利:com.apple.coretelephony.Identity.get。 但是,一旦您将应用上传到 AppStore,苹果可能会拒绝您的应用。

但是如果您打算使用 "Enterprise Distribution" 计划进行分发,您应该完全没有问题,请参阅 Igor Fedorchuk 和 Dylan here, and another elaborated answer here 的回答。

Android: 是的,您可以使用 this plugin,或编写桥接以下代码的 cordova 插件:

TelephonyManager tm = (TelephonyManager)appContext.getSystemService(Context.TELEPHONY_SERVICE);
String mPhoneNumber = tm.getLine1Number();

所需权限为android.permission.READ_PHONE_STATE"

Android:我知道我迟到了。经过大量搜索后,我发现 this 插件非常适合我... 在你的项目中添加这些插件

将这些代码放在您的 index.js 此处

 $(document).ready(function () {
    document.addEventListener("deviceready", onDeviceReady, false);
 });

function onDeviceReady() {
    window.plugins.phonenumber.get(success, failed);

    document.addEventListener("backbutton", onBackKeyDown, false);
}

function success(phonenumber) {
    console.log("My number is " + phonenumber);
}

function failed(phonenumber) {
    console.log("Error " + phonenumber);
}

If your phone do not allow to show phonenumber then it will go to failed block.

但来自 That : 一些供应商不会将 phone 号码发布到 SIM 卡。

You can check it in Settings-> About Phone-> Status-> SIM Status.