【发布时间】:2014-05-09 02:54:04
【问题描述】:
我需要在 Phonegap 为 Android 构建 HTML 移动 Web 应用程序中获取 IMEI 号码、手机号码、SIM 号码
【问题讨论】:
标签: android jquery jquery-mobile cordova
我需要在 Phonegap 为 Android 构建 HTML 移动 Web 应用程序中获取 IMEI 号码、手机号码、SIM 号码
【问题讨论】:
标签: android jquery jquery-mobile cordova
你不能直接得到它们。
选项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;
}
}
【讨论】:
有一个插件可以提供 sim 卡的详细信息,我试过了,它为 Telenor、Bsnl 等一些运营商提供了电话号码,但我无法获得 Jio 和 Idea 的电话号码。 首先安装链接中给出的插件。 作为
cordova plugin add cordova-plugin-sim
我有示例代码:
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);
}
}
【讨论】:
您可以使用 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
【讨论】: