Cordova / Phonegap获取设备的电话号码(Android和iOS)

是否有可能使用Phonegap / Cordova开发混合移动应用程序并访问Android和iOS设备的手机号码?

iOS:您可以使用CoreTelephony框架检索电话号码,您将需要添加以下权利: com.apple.coretelephony.Identity.get 。 但是,一旦将app上传到AppStore,苹果可能会拒绝您的应用程序。 但是,如果您打算使用“企业分配”计划进行分配,则完全没有问题,请参阅Igor Fedorchuk和Dylan 在这里的 回答 ,以及另一个详细的答案 。

Android:是的,你可以使用这个插件 ,或者写一个连接下面代码的cordova插件:

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

所需的权限是android.permission.READ_PHONE_STATE"

Android:我知道我迟到了。 search了很多后,我发现这个插件对我来说很完美…将这些插件添加到您的项目中

把这些代码放在你的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); } 

如果你的手机不允许显示phonenumber,那么它会去失败的块。

但是,从一些供应商不会将电话号码发布到SIM卡。

您可以在设置 – >关于电话 – >状态 – > SIM卡状态中查看。