【发布时间】:2015-11-07 10:40:15
【问题描述】:
是否可以使用 Phonegap / Cordova 开发混合移动应用程序并访问 Android 和 iOS 的设备电话号码?
【问题讨论】:
标签: android ios cordova phonegap-plugins cordova-plugins
是否可以使用 Phonegap / Cordova 开发混合移动应用程序并访问 Android 和 iOS 的设备电话号码?
【问题讨论】:
标签: android ios cordova phonegap-plugins cordova-plugins
iOS:
您可以使用 CoreTelephony 框架检索电话号码,您需要添加以下权利:com.apple.coretelephony.Identity.get。
但是,一旦您将应用上传到 AppStore,Apple 可能会拒绝您的应用。
但是如果您打算使用“企业分发”计划进行分发,您应该完全没有问题,请参阅 Igor Fedorchuk 和 Dylan here 的回答,以及另一个详细说明的 answer here。
安卓: 是的,你可以使用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);
}
如果您的手机不允许显示电话号码,那么它将进入失败阻止。
但是来自That : 一些供应商不会将电话号码发布到 SIM 卡上。
您可以在设置->关于手机->状态->SIM卡状态中查看。
【讨论】: