android 2.3 浏览器因GPS闪退问题
2014-07-10 13:46
260 查看
最近在调试smdkv210 android2.3,打开浏览器闪退,设备没有GPS,日志如下:
W/dalvikvm( 546): JNI WARNING: JNI method called with exception raised
W/dalvikvm( 546): in Landroid/webkit/JWebCoreJavaBridge;.sharedTimerFired ()V (NewString)
W/dalvikvm( 546): Pending exception is:
I/dalvikvm( 546): Ljava/lang/IllegalArgumentException;: provider=gps
I/dalvikvm( 546): at android.os.Parcel.readException(Parcel.java:1326)
I/dalvikvm( 546): at android.os.Parcel.readException(Parcel.java:1276)
I/dalvikvm( 546): at android.location.ILocationManager$Stub$Proxy.requestLocationUpdates(ILocationManager.java:646)
I/dalvikvm( 546): at android.location.LocationManager._requestLocationUpdates(LocationManager.java:582)
I/dalvikvm( 546): at android.location.LocationManager.requestLocationUpdates(LocationManager.java:446)
I/dalvikvm( 546): at android.webkit.GeolocationService.registerForLocationUpdates(GeolocationService.java:162)
I/dalvikvm( 546): at android.webkit.GeolocationService.start(GeolocationService.java:66)
I/dalvikvm( 546): at android.webkit.JWebCoreJavaBridge.sharedTimerFired(Native Method)
I/dalvikvm( 546): at android.webkit.JWebCoreJavaBridge.fireSharedTimer(JWebCoreJavaBridge.java:91)
I/dalvikvm( 546): at android.webkit.JWebCoreJavaBridge.handleMessage(JWebCoreJavaBridge.java:108)
I/dalvikvm( 546): at android.os.Handler.dispatchMessage(Handler.java:99)
I/dalvikvm( 546): at android.os.Looper.loop(Looper.java:123)
I/dalvikvm( 546): at android.webkit.WebViewCore$WebCoreThread.run(WebViewCore.java:629)
I/dalvikvm( 546): at java.lang.Thread.run(Thread.java:1019)
I/dalvikvm( 546): "WebViewCoreThread" prio=5 tid=12 NATIVE
I/dalvikvm( 546): | group="main" sCount=0 dsCount=0 obj=0x4059eca0 self=0x334758
I/dalvikvm( 546): | sysTid=560 nice=0 sched=0/0 cgrp=default handle=3373000
I/dalvikvm( 546): at android.webkit.JWebCoreJavaBridge.sharedTimerFired(Native Method)
I/dalvikvm( 546): at android.webkit.JWebCoreJavaBridge.fireSharedTimer(JWebCoreJavaBridge.java:91)
I/dalvikvm( 546): at android.webkit.JWebCoreJavaBridge.handleMessage(JWebCoreJavaBridge.java:108)
I/dalvikvm( 546): at android.os.Handler.dispatchMessage(Handler.java:99)
I/dalvikvm( 546): at android.os.Looper.loop(Looper.java:123)
I/dalvikvm( 546): at android.webkit.WebViewCore$WebCoreThread.run(WebViewCore.java:629)
I/dalvikvm( 546): at java.lang.Thread.run(Thread.java:1019)
I/dalvikvm( 546):
E/dalvikvm( 546): VM aborting
I/DEBUG ( 51): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 51): Build fingerprint: 'generic/full_smdkv210/smdkv210:2.3.1/GINGERBREAD/eng.root.20140707.140037:eng/test-keys'
I/DEBUG ( 51): pid: 546, tid: 560 >>> com.android.browser <<<
I/DEBUG ( 51): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadd00d
I/DEBUG ( 51): r0 fffffe7c r1 deadd00d r2 00000026 r3 00000000
I/DEBUG ( 51): r4 81da5608 r5 00000000 r6 81d87330 r7 00000000
I/DEBUG ( 51): r8 46d8da88 r9 46d8da84 10 46d8da80 fp 00345670
I/DEBUG ( 51): ip 81da5714 sp 46d8d9a0 lr afd191d9 pc 81d461f8 cpsr 20000030
I/DEBUG ( 51): d0 74726f6261204d69 d1 436265572465726e
I/DEBUG ( 51): d2 6f43776569566267 d3 6f4362655724650a
I/DEBUG ( 51): d4 0070006700260032 d5 00260031003d0073
I/DEBUG ( 51): d6 002e0030003d0074 d7 0033003700330037
I/DEBUG ( 51): d8 41143d5f5f27fe4c d9 41143d5f925b317f
I/DEBUG ( 51): d10 0000000000000000 d11 0000000000000000
I/DEBUG ( 51): d12 0000000000000000 d13 0000000000000000
网上说是应为GPS引起的,解决办法如下:GeolocationService.java
*/
public void setEnableGps(boolean enable) {
if (mIsGpsEnabled != enable) {
mIsGpsEnabled = enable;
if (mIsRunning) {
// There's no way to unregister from a single provider, so we can
// only unregister from all, then reregister with all but the GPS.
unregisterFromLocationUpdates();
// registerForLocationUpdates(); 注释掉这个方法
}
}
}
public void onProviderEnabled(String providerName) {
// No need to notify the native side. It's enough to start sending
// valid position fixes again.
if (LocationManager.NETWORK_PROVIDER.equals(providerName)) {
mIsNetworkProviderAvailable = true;
} else if (LocationManager.GPS_PROVIDER.equals(providerName)) {
mIsGpsProviderAvailable = true;
}
}
/**
* LocationListener implementation.
* Called when the provider is disabled.
* @param provider The name of the location provider that is now disabled.
*/
public void onProviderDisabled(String providerName) {
if (LocationManager.NETWORK_PROVIDER.equals(providerName)) {
mIsNetworkProviderAvailable = false;
} else if (LocationManager.GPS_PROVIDER.equals(providerName)) {
mIsGpsProviderAvailable = false;
}
maybeReportError("The last location provider was disabled");
}
W/dalvikvm( 546): JNI WARNING: JNI method called with exception raised
W/dalvikvm( 546): in Landroid/webkit/JWebCoreJavaBridge;.sharedTimerFired ()V (NewString)
W/dalvikvm( 546): Pending exception is:
I/dalvikvm( 546): Ljava/lang/IllegalArgumentException;: provider=gps
I/dalvikvm( 546): at android.os.Parcel.readException(Parcel.java:1326)
I/dalvikvm( 546): at android.os.Parcel.readException(Parcel.java:1276)
I/dalvikvm( 546): at android.location.ILocationManager$Stub$Proxy.requestLocationUpdates(ILocationManager.java:646)
I/dalvikvm( 546): at android.location.LocationManager._requestLocationUpdates(LocationManager.java:582)
I/dalvikvm( 546): at android.location.LocationManager.requestLocationUpdates(LocationManager.java:446)
I/dalvikvm( 546): at android.webkit.GeolocationService.registerForLocationUpdates(GeolocationService.java:162)
I/dalvikvm( 546): at android.webkit.GeolocationService.start(GeolocationService.java:66)
I/dalvikvm( 546): at android.webkit.JWebCoreJavaBridge.sharedTimerFired(Native Method)
I/dalvikvm( 546): at android.webkit.JWebCoreJavaBridge.fireSharedTimer(JWebCoreJavaBridge.java:91)
I/dalvikvm( 546): at android.webkit.JWebCoreJavaBridge.handleMessage(JWebCoreJavaBridge.java:108)
I/dalvikvm( 546): at android.os.Handler.dispatchMessage(Handler.java:99)
I/dalvikvm( 546): at android.os.Looper.loop(Looper.java:123)
I/dalvikvm( 546): at android.webkit.WebViewCore$WebCoreThread.run(WebViewCore.java:629)
I/dalvikvm( 546): at java.lang.Thread.run(Thread.java:1019)
I/dalvikvm( 546): "WebViewCoreThread" prio=5 tid=12 NATIVE
I/dalvikvm( 546): | group="main" sCount=0 dsCount=0 obj=0x4059eca0 self=0x334758
I/dalvikvm( 546): | sysTid=560 nice=0 sched=0/0 cgrp=default handle=3373000
I/dalvikvm( 546): at android.webkit.JWebCoreJavaBridge.sharedTimerFired(Native Method)
I/dalvikvm( 546): at android.webkit.JWebCoreJavaBridge.fireSharedTimer(JWebCoreJavaBridge.java:91)
I/dalvikvm( 546): at android.webkit.JWebCoreJavaBridge.handleMessage(JWebCoreJavaBridge.java:108)
I/dalvikvm( 546): at android.os.Handler.dispatchMessage(Handler.java:99)
I/dalvikvm( 546): at android.os.Looper.loop(Looper.java:123)
I/dalvikvm( 546): at android.webkit.WebViewCore$WebCoreThread.run(WebViewCore.java:629)
I/dalvikvm( 546): at java.lang.Thread.run(Thread.java:1019)
I/dalvikvm( 546):
E/dalvikvm( 546): VM aborting
I/DEBUG ( 51): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 51): Build fingerprint: 'generic/full_smdkv210/smdkv210:2.3.1/GINGERBREAD/eng.root.20140707.140037:eng/test-keys'
I/DEBUG ( 51): pid: 546, tid: 560 >>> com.android.browser <<<
I/DEBUG ( 51): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadd00d
I/DEBUG ( 51): r0 fffffe7c r1 deadd00d r2 00000026 r3 00000000
I/DEBUG ( 51): r4 81da5608 r5 00000000 r6 81d87330 r7 00000000
I/DEBUG ( 51): r8 46d8da88 r9 46d8da84 10 46d8da80 fp 00345670
I/DEBUG ( 51): ip 81da5714 sp 46d8d9a0 lr afd191d9 pc 81d461f8 cpsr 20000030
I/DEBUG ( 51): d0 74726f6261204d69 d1 436265572465726e
I/DEBUG ( 51): d2 6f43776569566267 d3 6f4362655724650a
I/DEBUG ( 51): d4 0070006700260032 d5 00260031003d0073
I/DEBUG ( 51): d6 002e0030003d0074 d7 0033003700330037
I/DEBUG ( 51): d8 41143d5f5f27fe4c d9 41143d5f925b317f
I/DEBUG ( 51): d10 0000000000000000 d11 0000000000000000
I/DEBUG ( 51): d12 0000000000000000 d13 0000000000000000
网上说是应为GPS引起的,解决办法如下:GeolocationService.java
*/
public void setEnableGps(boolean enable) {
if (mIsGpsEnabled != enable) {
mIsGpsEnabled = enable;
if (mIsRunning) {
// There's no way to unregister from a single provider, so we can
// only unregister from all, then reregister with all but the GPS.
unregisterFromLocationUpdates();
// registerForLocationUpdates(); 注释掉这个方法
}
}
}
public void onProviderEnabled(String providerName) {
// No need to notify the native side. It's enough to start sending
// valid position fixes again.
if (LocationManager.NETWORK_PROVIDER.equals(providerName)) {
mIsNetworkProviderAvailable = true;
} else if (LocationManager.GPS_PROVIDER.equals(providerName)) {
mIsGpsProviderAvailable = true;
}
}
/**
* LocationListener implementation.
* Called when the provider is disabled.
* @param provider The name of the location provider that is now disabled.
*/
public void onProviderDisabled(String providerName) {
if (LocationManager.NETWORK_PROVIDER.equals(providerName)) {
mIsNetworkProviderAvailable = false;
} else if (LocationManager.GPS_PROVIDER.equals(providerName)) {
mIsGpsProviderAvailable = false;
}
maybeReportError("The last location provider was disabled");
}
相关文章推荐
- android2.3 使用浏览器地址栏 鼠标移动时导致输入法消失问题
- 转!Android2.3浏览器地址栏鼠标移动时导致输入法消失问题
- Android 2.3编译不过的问题
- Android 2.3编译SDK问题详解
- android2.3编译的两个问题
- Android2.3中Webkit引擎导致VM崩溃的问题
- android 浏览器问题
- Android浏览器显示大分辨率图片的问题
- android2.3 gps 架构流程
- 驱动版本移植常见问题 android2.3
- android2.3 gps 调用流程以及与android2.2 gps的一些区别
- Ubuntu 11.10 64bit系统编译android 2.3的相关问题
- 关于android2.2中浏览器会被白板遮盖的问题
- 关于Android 2.2与2.3 adb.exe版本更新问题(在安装android——SDK时候找不到相应的 /tools/adb.exe! )
- Android2.3中Webkit引擎导致VM崩溃的问题
- Android开发googleMap+GPS定位中的关于Criteria一知半解问题
- Android开发googleMap+GPS定位中的关于Criteria一知半解问题
- GPS 研究一 (Android2.3)
- GPS 研究一 (Android2.3)
- porting gps to android2.3