2016-05-04 124 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