I found that if I don't assign a custom WebViewClient to the webview, the app doesn't crash but opens the gmail site in the default system browser. But I don't want that. I want it to open in my own webview only - how to force it?
I filed a bug report under: http://code.google.com/p/android/issues/detail?id=12097 it seems to be related but not 100% identical to: http://code.google.com/p/android/issues/detail?id=11655 therefore new report. I also added a sample project / src to the bug report that allows to reproduce the crash. On Oct 23, 10:54 pm, Mathias Lin <[email protected]> wrote: > I have a webview in my app that generally works fine for loading > websites. But I cannot getwww.gmail.comto work: when I openwww.gmail.comI see > the login page, try to login, afterwards the screen > goes black and my app/process is killed. > > I don't see much in my logcat, just some strange debug information is > being dumped as below. > > But generally https sites work fine, and even more complicated login > procedures like opening stackoverflow.com, logging in via openid through > https, back to stackoverflow, all work without a problem in my webview. > Only gmail.com is giving me these problems. > > Logcat: > > I/DEBUG ( 2173): *** *** *** *** *** *** *** *** *** *** *** *** *** > *** *** *** > I/DEBUG ( 2173): Build fingerprint: > 'Samsung/GT-I9000/GT-I9000/GT-I9000:2.1-update1/ECLAIR/XWJM6:user/release-k > eys' > I/DEBUG ( 2173): pid: 6753, tid: 6793 >>> com.myapplication.android <<< > I/DEBUG ( 2173): signal 11 (SIGSEGV), fault addr 0000004c > I/DEBUG ( 2173): r0 00000000 r1 00000000 r2 00000000 r3 aa476ae0 > I/DEBUG ( 2173): r4 00000000 r5 4c2f5b74 r6 aa476ae0 r7 00595dec > I/DEBUG ( 2173): r8 4c2f5da8 r9 444a7eb8 10 444a7ea0 fp 004be758 > I/DEBUG ( 2173): ip aa4770fc sp 4c2f5b50 lr aa1112bf pc aac0a5ac > cpsr 48000030 > I/DEBUG ( 2173): #00 pc 0000a5ac /system/lib/libsqlite.so > I/DEBUG ( 2173): #01 pc 001112bc /system/lib/libwebcore.so > I/DEBUG ( 2173): #02 pc 001118e2 /system/lib/libwebcore.so > I/DEBUG ( 2173): #03 pc 00111a80 /system/lib/libwebcore.so > I/DEBUG ( 2173): > I/DEBUG ( 2173): code around pc: > I/DEBUG ( 2173): aac0a59c f7ff60e3 2000fd49 bf00bd70 4604b570 > I/DEBUG ( 2173): aac0a5ac 460d6cc0 f7ff4616 f8c4fd9d 230150e0 > I/DEBUG ( 2173): aac0a5bc 60e4f8c4 508cf8d4 f885e002 68ad30ff > I/DEBUG ( 2173): > I/DEBUG ( 2173): code around lr: > I/DEBUG ( 2173): aa1112ac 68004905 e0021859 68002100 f6f9460a > I/DEBUG ( 2173): aa1112bc bd10ec32 0036583c ffc9a849 4604b570 > I/DEBUG ( 2173): aa1112cc 46281d05 fd64f20b 46286826 60263e01 > I/DEBUG ( 2173): > I/DEBUG ( 2173): stack: > I/DEBUG ( 2173): 4c2f5b10 00000000 > I/DEBUG ( 2173): 4c2f5b14 aa31c6d3 /system/lib/libwebcore.so > I/DEBUG ( 2173): 4c2f5b18 00000000 > I/DEBUG ( 2173): 4c2f5b1c aa011171 /system/lib/libwebcore.so > I/DEBUG ( 2173): 4c2f5b20 00000000 > I/DEBUG ( 2173): 4c2f5b24 afe3ae08 /system/lib/libc.so > I/DEBUG ( 2173): 4c2f5b28 afe3db7c > I/DEBUG ( 2173): 4c2f5b2c afe0f170 /system/lib/libc.so > I/DEBUG ( 2173): 4c2f5b30 00000000 > I/DEBUG ( 2173): 4c2f5b34 afe3ae08 /system/lib/libc.so > I/DEBUG ( 2173): 4c2f5b38 00595dec [heap] > I/DEBUG ( 2173): 4c2f5b3c afe0f170 /system/lib/libc.so > I/DEBUG ( 2173): 4c2f5b40 00595ddc [heap] > I/DEBUG ( 2173): 4c2f5b44 4c2f5b74 > I/DEBUG ( 2173): 4c2f5b48 df002777 > I/DEBUG ( 2173): 4c2f5b4c e3a070ad > I/DEBUG ( 2173): #00 4c2f5b50 00595ddc [heap] > I/DEBUG ( 2173): 4c2f5b54 4c2f5b74 > I/DEBUG ( 2173): 4c2f5b58 aa476ae0 /system/lib/libwebcore.so > I/DEBUG ( 2173): 4c2f5b5c aa1112bf /system/lib/libwebcore.so > I/DEBUG ( 2173): #01 4c2f5b60 00595ddc [heap] > I/DEBUG ( 2173): 4c2f5b64 aa1118e7 /system/lib/libwebcore.so > D/Zygote ( 2181): Process 6753 terminated by signal (11) > I/ActivityManager( 2237): Process com.myapplication.android (pid 6753) > has died. > > XML: > > <WebView > android:layout_width="fill_parent" > android:layout_height="fill_parent" > android:theme="@style/Theme.NoBackground" > android:id="@+id/webView"/> > > Code: > .... > webView = (WebView)findViewById(R.id.webView); > webView.getSettings().setJavaScriptEnabled(true); > webView.getSettings().setLoadsImagesAutomatically(true); > webView.getSettings().setAllowFileAccess(false); > webView.getSettings().setBuiltInZoomControls(true); > webView.getSettings().setPluginsEnabled(true); > webView.getSettings().setAllowFileAccess(true); > webView.getSettings().setAppCacheEnabled(true); > > WebViewClient wv = new MyWebViewClient(); > webView.setWebViewClient(wv); > > .... > > /** > * Customized webview client to allow mp4 to play in mediaplayer. > */ > final class MyWebViewClient extends WebViewClient { > �...@override > public boolean shouldOverrideUrlLoading(WebView view, String url) { > if (url.endsWith(".mp4")) { > Intent intent = new Intent("android.intent.action.VIEW", > Uri.parse(url)); > view.getContext().startActivity(intent); > return true; > } else { > return super.shouldOverrideUrlLoading(view, url); > // instead of the line above, I have also tried this before > without any difference: > // view.loadUrl(url); > // return true; > } > } -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

