2

我正在使用 Sencha Touch 开发 Android 应用程序,但 Ext.device.Connection.getType() 总是为我返回 UNKNOWN。我找到了使用 navigator.onLine 函数的解决方法(来自确定互联网连接是否可用)。然而,我有点担心这个基本功能没有按照文档(http://docs.sencha.com/touch/2-0/#!/api/Ext.device.Connection)工作。查看源代码(http://docs.sencha.com/touch/2-0/source/Connection2.html#Ext-device-Connection)我看到 Connection 构造函数检查 Ext.browser.is.WebView 并很好奇. 运行以下行会记录很多看似不正确的信息:

for (prop in Ext.browser.is) { console.log('Ext.browser.is.' + prop + ': ' + Ext.browser.is[prop]); }

例如:

Ext.browser.is.Safari: true
Ext.browser.is.WebView: false
Ext.browser.is.webview: false

这些 Ext.browser.is 属性是否错误?似乎 Ext.browser.is 属性可能会在我的应用程序中导致许多其他问题,而 Connection.isOnline 只是更深层次问题的症状。是否有让 Ext.device.Connection.isOnline() 工作的特定技术或代码?

如果在我的应用程序的要求中获得了“Ext.device.Device”和“Ext.device.Connection”,并且在 AndroidManifest.xml 中有以下权限:

<uses-permission android:name="android.permission.INTERNET" />   
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

我正在使用 Sencha Touch 2.0.1(使用 PhoneGap/Cordova 2.2.0)& 测试设备是三星 Stratosphere(使用 Android 2.3.6)

4

0 回答 0