在不同的Android硬件/操作系统上获取设备信息时出错

时间:2016-05-04 14:19:39

标签: android cordova plugins

我在Cordova项目中使用以下插件:

  

com.vliesaputra.deviceinformation

以下是我的代码示例:

var deviceInfo = cordova.require('cordova/plugin/DeviceInformation');
deviceInfo.get(GotDeviceInfo, function () {
    alert('error');
}

function GotDeviceInfo(result) {
    var data = JSON.parse(result);
    alert(data.phoneNo);
    alert(data.simNo);
}

在我的三星Galaxy S5 SM-G900F(Android 5.0)上,我获得了有关手机和SIM卡号码的准确信息,但在我的TomTom PRO 8275(Android 4.3)上,我得到TM.ERROR两个值。我认为TM意味着TelephonyManager,但除此之外,我没有明确的理由说明为什么这种方法适用于一台Android设备,而不是另一台设备。

我已经在两个设备中激活了SIM卡并测试了移动数据,这些数据再次正常运行。所以我知道SIM卡在两种设备上都有效。只是硬件不支持它吗?操作系统版本?

是否有人对如何使其发挥作用有任何明确的解决方案或想法,或者至少为什么没有?

1 个答案:

答案 0 :(得分:1)

可能是因为制造商没有提供这些值可供android框架访问。几个android功能是制造商相关的,可以在不同的设备上返回不同的结果。