5***@qq.com
5***@qq.com
  • 发布:2016-09-03 14:11
  • 更新:2016-09-03 15:11
  • 阅读:1288

调用原生的问题(调用TelphoneyManager类)

分类:Native.js

var Telphoney = plus.android.importClass("android.telephony.TelephonyManager");
var t = new Telphoney();
mui.alert(t.getSubscriberId());

出现如下错误

Uncaught expected receiver of type android.telephony.TelephonyManager, but got null;at android.telephony.TelephonyManager.getSubscriberId at login/login.html:1

2016-09-03 14:11 负责人:无 分享
已邀请:

最佳回复

赵梦欢

赵梦欢 - 专注前端,乐于分享!

var main = plus.android.runtimeMainActivity();  
var Context = plus.android.importClass("android.content.Context");  
var tm = main.getSystemService(Context.TELEPHONY_SERVICE);  

// 方法一:  
plus.android.importClass(tm);  
var simSerialNumber = tm.getSimSerialNumber();  

//方法二:  
plus.android.invoke(tm,"getSimSerialNumber");  

//返回SIM卡的序列号(IMEI)  
console.log(simSerialNumber); 
  • 5***@qq.com (作者)

    万分感谢

    2016-09-03 16:57

  • 5***@qq.com (作者)

    用方法二就可以获取了

    2016-09-03 17:13

赵梦欢

赵梦欢 - 专注前端,乐于分享!

贴出完整代码,以及说明你想实现的功能。如果是为了获得用户的设备的国际移动用户识别码imsi,直接使用5+ plus.device.imsi即可。

5***@qq.com

5***@qq.com (作者)

对,除了得到imsi码外,我还需要得到sim卡的卡号和当前设备的IP地址(VPN内网,不能使用网上公开的利用第三方URL来实现IP获取)
内部城要imsi码+sim卡号来确定使用者身份!

代码如下
> mui.plusReady(function(){
var Telphoney = plus.android.importClass("android.telephony.TelephonyManager");
var t = new Telphoney();
var val = plus.android.invoke(t,"getSimSerialNumber");
mui.alert(val);
});

  • 5***@qq.com (作者)

    无论是用t.xxx还是t.invoke(xxx)来调用,都是同一个错误

    2016-09-03 14:46

该问题目前已经被锁定, 无法添加新回复