【问题标题】:How to get IMEI number, SIM number, Mobile number in PhoneGap Mobile Application?如何在PhoneGap移动应用程序中获取IMEI号码、SIM号码、手机号码?
【发布时间】:2014-05-09 02:54:04
【问题描述】:

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

【问题讨论】:

标签: android jquery jquery-mobile cordova


【解决方案1】:

你不能直接得到它们。

选项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;    
}
}

【讨论】:

  • 所以我现在可以使用 IMEI 号码了。谢谢你。但是如何获取sim卡号和手机号呢?请帮帮我..
  • 那是为了让您走上正轨,这不是一个完整的解决方案,您可以采取类似的方法来获得所需的值,但这些方法并不是那么简单。在这里讨论得很好:stackoverflow.com/questions/2480288/…
  • 别忘了在你的 AndroidManifest 中添加:
【解决方案2】:

有一个插件可以提供 sim 卡的详细信息,我试过了,它为 Telenor、Bsnl 等一些运营商提供了电话号码,但我无法获得 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);
    }
 }

【讨论】:

    【解决方案3】:

    您可以使用 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

    【讨论】:

    • 所以我可以使用 UUID 号码代替 IMEI 号码。谢谢你。但是如何获取sim卡号和手机号呢?请帮帮我..
    • 不能,因为 UUID 号只能从 itune 获得。
    猜你喜欢
    • 2011-11-16
    • 2012-02-03
    • 2012-05-27
    • 2017-04-28
    • 2017-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多