首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Phonegap使用cordova-plugin-sim获取sim信息

Phonegap使用cordova-plugin-sim获取sim信息
EN

Stack Overflow用户
提问于 2017-04-12 11:24:23
回答 3查看 1.9K关注 0票数 1

我是个移动开发新手。我正在使用PhoneGap,我想在我的应用程序中添加一个功能,以便在iOS和安卓系统上从SIM卡中获取电话号码。我正在使用这个插件:

cordova-plugin-sim

我使用这个非常简单的索引代码来显示我可以从插件中检索到的任何信息。

代码语言:javascript
复制
<!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>

这不会显示任何内容。有什么地方我做错了或遗漏了吗?

EN

回答 3

Stack Overflow用户

发布于 2017-04-12 23:34:00

你是在iOS上测试还是在安卓上测试?在Android 6.0及更高版本上,您需要实现。

代码语言:javascript
复制
  window.plugins.sim.requestReadPermission(successCallback, errorCallback);

同时也在看你的代码。在errorCallback函数中,结果将是未定义的。

你需要改变这一点。

代码语言:javascript
复制
    function errorCallback(error) {
        document.getElementById("simInfo").innerHTML=JSON.stringify(result);
    }

到这个

代码语言:javascript
复制
    function errorCallback(error) {
        document.getElementById("simInfo").innerHTML=JSON.stringify(error);
    }
票数 1
EN

Stack Overflow用户

发布于 2017-04-13 19:19:40

我发现了这个:

注意: phoneNumber的内容是不可靠的(请参阅本文、本文和本文)。有时phoneNumber只是一个空字符串。

我在代码中做了一些修改,但我得到了“未定义”的消息。

代码语言:javascript
复制
<!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>

我附上了结果图像,请检查这个。

请检查一下这个。谢谢。

票数 0
EN

Stack Overflow用户

发布于 2018-06-22 16:50:41

它获取用户保存为SIM卡的电话号码的号码。如果没有保存,则为空字符串。我使用的是redmi Note3,它在设置->SIM卡&移动网络->SIM1/2->编辑SIM卡号码

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43359704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档