我们希望获取移动设备的IMSI
号码,以便了解用户是否已注册使用特定应用程序。
我在网上搜索过。它说Worklight正在使用Cordova。它提供UUID和设备名称/描述,但不提供IMSI号码。
我在这里尝试此代码。但是科尔多瓦总是会失败。并说未找到课程。我正在使用IBM Worklight
import org.apache.cordova.CallbackContext;
import org.apache.cordova.CordovaPlugin;
import org.json.JSONArray;
import org.json.JSONException;
import android.provider.Settings;
import android.content.Context;
import android.telephony.TelephonyManager;
@Override
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
if (action.equals("imeiNumber")) {
org.json.JSONObject r = new org.json.JSONObject();
TelephonyManager tManager = (TelephonyManager) cordova.getActivity().getSystemService(Context.TELEPHONY_SERVICE);
r.put("imei", "sampleimei");
r.put("imsi", "sampleimsi123");
r.put("tmanagerimsi", tManager.getSimSerialNumber());
r.put("deviceModal", this.getModel() );
callbackContext.success(r);
return true;
}
else {
return false;
}
}
的javascript:
function getImei(){
alert("inside getImei");
cordova.exec(getSuccess, getFailure, "DeviceDetails", "imeiNumber", []);
}
function getSuccess(data){
alert(data.imei +" "+data.imsi+" "+data.tmanagerimsi);
}
function getFailure(data){
alert(data);
alert(data.imei +" "+data.imsi+" "+data.tmanagerimsi+" "+data.deviceModal);
}
答案 0 :(得分:1)
要获取IMSI号码,您需要创建Cordova插件才能访问存储在设备中的此信息。
请参阅以下培训模块,了解如何在Worklight中创建Cordova插件:
请参阅以下主题,了解如何获取IMEI
号码,以及IMSI
号码。然后,您需要将两者(Cordova插件和上面的本机代码)结合起来,以获得您想要的数据:
答案 1 :(得分:1)
你粘贴在完整的java文件上面的是什么?因为它似乎不完整。
您缺少类声明。通常Java中的类定义如下:
public class Dog{
//stuff
}
我的代码中没有看到这一点。
此外,在安装插件时,您需要修改config.xml以反映这一点。