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

Reply via email to