我是个移动开发新手。我正在使用PhoneGap,我想在我的应用程序中添加一个功能,以便在iOS和安卓系统上从SIM卡中获取电话号码。我正在使用这个插件:
我使用这个非常简单的索引代码来显示我可以从插件中检索到的任何信息。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>SIM</title>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript">
document.addEventListener("deviceready",onDeviceReady,false);
function onDeviceReady(){
window.plugins.sim.getSimInfo(successCallback, errorCallback);
}
function successCallback(result) {
document.getElementById("simInfo").innerHTML=JSON.stringify(result);
}
function errorCallback(error) {
document.getElementById("simInfo").innerHTML=JSON.stringify(result);
}
</script>
</head>
<body>
<p id="simInfo"></p>
</body>
</html>这不会显示任何内容。有什么地方我做错了或遗漏了吗?
发布于 2017-04-12 23:34:00
你是在iOS上测试还是在安卓上测试?在Android 6.0及更高版本上,您需要实现。
window.plugins.sim.requestReadPermission(successCallback, errorCallback);同时也在看你的代码。在errorCallback函数中,结果将是未定义的。
你需要改变这一点。
function errorCallback(error) {
document.getElementById("simInfo").innerHTML=JSON.stringify(result);
}到这个
function errorCallback(error) {
document.getElementById("simInfo").innerHTML=JSON.stringify(error);
}发布于 2017-04-13 19:19:40
我发现了这个:
注意: phoneNumber的内容是不可靠的(请参阅本文、本文和本文)。有时phoneNumber只是一个空字符串。
我在代码中做了一些修改,但我得到了“未定义”的消息。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>SIM</title>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript">
document.addEventListener("deviceready",onDeviceReady,false);
function onDeviceReady(){
window.plugins.sim.getSimInfo(successCallback, errorCallback);
}
function successCallback(result) {
document.getElementById("simInfo").innerHTML=JSON.stringify(result);
document.getElementById("phone").innerHTML=JSON.stringify(result.phoneNumber);
document.getElementById("carrierName").innerHTML=JSON.stringify(result.carrierName);
}
function errorCallback(error) {
document.getElementById("simInfo").innerHTML=JSON.stringify(error);
}
</script>
</head>
<body>
SimInfo :: <p id="simInfo"></p>
<br />
Phone Number :: <p id="phone"></p>
<br />
Carrier Name :: <p id="carrierName"></p>
<br />
</body>
</html>我附上了结果图像,请检查这个。

请检查一下这个。谢谢。
发布于 2018-06-22 16:50:41
它获取用户保存为SIM卡的电话号码的号码。如果没有保存,则为空字符串。我使用的是redmi Note3,它在设置->SIM卡&移动网络->SIM1/2->编辑SIM卡号码
https://stackoverflow.com/questions/43359704
复制相似问题