2016-05-04 152 views
1

我用我的科尔多瓦项目如下插件:错误获取设备信息OS

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(安卓4.0。 3)我得到这两个值的TM.ERROR。我认为TM意味着TelephonyManager,但除此之外,我没有明确的理由说明为什么在一台Android设备上可以正常工作,而不是另一台。

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

有没有人有任何明确的解决方案或想法如何得到这个工作或至少为什么它不?

回答

1

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

+0

我认为这可能是这种情况。任何明确的证据? – Matthew

+0

不适合你的情况,但有不同的方式来访问电话hw信息,我认为科尔多瓦只是使用其中之一。但是您的手机以另一种方式提供这种信息,而cordova并不知道。 – ChampS

+0

对于它的价值,这是我得到的最佳答案。 ;-) – Matthew