没有强制关闭对话;我的应用程序只是在加载大部分页面后退出。 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),但没有任何帮助。
地理定位不一定有效;让它不崩溃对我来说已经足够了。
我正在使用T-Mobile myTouch 3g,运行Android 2.2.1。
编辑:此外,Xoom或Galaxy SII Skyrocket上不会发生此问题。