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

我是移动开发新手。 我正在使用PhoneGap,并且希望在我的应用中添加一项function,以便在iOS和Android上从SIM卡中获取电话号码。 我正在使用这个插件:

cordova-插件-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> 

这不显示任何东西。 有什么我做错了或失踪?

你在iOS或Android上testing吗? 在Android 6.0及以上版本中,您需要实施。

  window.plugins.sim.requestReadPermission(successCallback, errorCallback); 

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

你需要改变这个。

  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); } 

对此

  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(error); } 

我find了这个 ::

注意:phoneNumber的内容是不可靠的(参见这篇文章和这篇文章)。 有时phoneNumber只是一个空string。

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

 <!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> 

我附上结果图片,请检查这一点。

在这里输入图像说明

请检查这个。 谢谢。