没有强制关闭对话框;我的应用程序在加载大部分页面后才退出。LogCat 中也没有堆栈跟踪,但有时我会看到此错误:
E/geolocationService(580): Caught security exception registering for location updates from system. This should only happen in DumpRenderTree.
但是当我访问其他使用地理定位的网站时,它们不会崩溃。
我尝试在调试模式下运行,我发现了这个错误:
E/ActivityManager(89): ANR in com.google.android.apps.docs
E/ActivityManager(89): Reason: Broadcast of Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x30000000 cmp=com.google.android.apps.docs/.receivers.NetworkChangeReceiver (has extras) }
接下来是一些 CPU 负载统计信息。(谷歌搜索此错误时没有有用的结果)。
我尝试添加必要的权限:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_GPS" />
<uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS" />
<uses-permission android:name="android.permission.ACCESS_LOCATION" />
以及在代码中启用地理位置:
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setAppCacheEnabled(true);
mWebView.getSettings().setDatabaseEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.getSettings().setGeolocationEnabled(true);
mWebView.getSettings().setGeolocationDatabasePath(<path>);
我也尝试过覆盖 WebChromeClient.onGeolocationPermissionsShowPrompt() 以始终返回 true(或 false),但没有任何帮助。
地理位置不必工作;让它不崩溃对我来说已经足够了。
我正在使用运行 Android 2.2.1 的 T-Mobile myTouch 3g。
编辑:此外,这个问题不会发生在 Xoom 或 Galaxy SII Skyrocket 上。