如何在PhoneGap移动应用程序中获取IMEI号码,SIM号码,手机号码?

时间:2014-03-29 15:51:19

标签: android jquery jquery-mobile cordova

我需要在Phonegap构建用于Android的HTML移动Web应用程序中获取IMEI号码,手机号码,SIM号码

3 个答案:

答案 0 :(得分:5)

你不能直接得到它们。

选项1)寻找一些插件我不确定它们是否存在。

选项2)编写自己的小脚本,返回所需内容。

例如,我使用此javascript代码在我的某个应用中获取IMEI:

$imei=window.YourActivityName.get_imei();

为此,您需要在应用中启用javascript并在Java中定义函数get_imei()。

您的Java应该类似于:

public class YourActivityName extends CordovaActivity 
{
.........
public void onCreate(Bundle savedInstanceState)
{
 .......
 appView.addJavascriptInterface(this, "YourActivityName");
 super.loadUrl(Config.getStartUrl(), 10000);
 .......
}

//Define function to return imei in Java:
@JavascriptInterface
public String get_imei() {
     TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
    String imei = telephonyManager.getDeviceId();
    return imei;    
}
}

答案 1 :(得分:1)

您可以使用cordova插件或java获取IMEI号码。但您可以使用设备cordova插件获取设备详细信息而不是IMEI号。

https://github.com/apache/cordova-plugin-device

然后使用此脚本在您的javascript中获取您的设备详细信息。

document.addEventListener(" deviceready",onDeviceReady,false);

function onDeviceReady() {
    console.log(device.cordova);
    console.log(device.model);
    console.log(device.name);
    console.log(device.platform);
    console.log(device.uuid);
    console.log(device.version);
    console.log(device.manufacturer);
    console.log(device.serial);
}

您可以在此处阅读有关此插件的更多详细信息。

https://github.com/apache/cordova-plugin-device/blob/master/doc/index.md

答案 2 :(得分:1)

有一个插件提供了SIM卡的详细信息我试过它它为telenor,Bsnl等一些运营商提供了phoneNumber但我无法获得Jio和Idea的电话号码。 首先安装链接中给出的插件。 如

cordova plugin add cordova-plugin-sim

Plugin link

我有示例代码:

function get_number2(){
    document.addEventListener("deviceready", onDeviceReady, false);

    function onDeviceReady() {
        if(window.plugins && window.plugins.sim){
            alert("plugin loaded");
            window.plugins.sim.getSimInfo(successCallback, errorCallback);

        }else{
            alert("plugin not loaded ");
        }

    }

    function successCallback(result) {
        alert("success");
        console.log(result);
        alert(result.carrierName);
        alert(result.countryCode);
        alert(result.mcc);
        alert(result.mnc);
        alert(result.phoneNumber);
        alert(result.cards[0].phoneNumber);
        alert(result.cards[1].phoneNumber);
    }

    function errorCallback(error) {
        alert("error");
        console.log(error);
        alert(error);
    }
 }