Home » Android » An alternative to Android's webview

An alternative to Android's webview

Posted by: admin February 23, 2018 Leave a comment

Questions:

Does anyone knows an alternative to Android’s webview component ? For some reasons, it’s functionality’s are insufficient for me : I need to be able to catch every single request to some url, when i’m browsing a wml page (wap). Anyway, I need to be able to do stuff that Android’s webview is not made for.
I thought “hey, let’s play with the source code, I’m pretty sure that webviews are using apache.org librairies to access internet”.
Oh boy was I mistaken. Webviews use native code, and that’s where I’m stuck.

So I was wondering if anyone knew of another web browser view, in pure java, that would be open source and nice. It’s not a problem if it’s slow, i’m displaying some basic wap pages…

Thanks in advance.

Answers:

You can extend WebView’s functionality by using setWebViewClient & setWebChromeClient.

WebView.setWebViewClient(new MyWebViewClient());
WebView.setWebChromeClient(new WebChromeClient() {..}

You can handle each and every request sent/received from the WebView by overriding the below methods:

public boolean shouldOverrideUrlLoading(WebView view, String url) {..}
public void onPageStarted(WebView view, String url, Bitmap favicon) {..}
public void onPageFinished(WebView view, String url) {..}

Questions:
Answers:

The crosswalk project: https://crosswalk-project.org/ might be what you need. But beware, there are places where it differs from the stock webview. In some ways better, in some ways worse. For example, it supports WebGL (good), but currently the background cannot be transparent (bad). The really good news, it seems to be very actively supported, running it’s own Jira to track and fix and Intel seems to be very involved.

Questions:
Answers:

Try to see how was Opera Mini programmed.

But I think you must program it if you want another one . But i would be surprised if it has a nice performance.

Questions:
Answers:
       Try this: 

      goButton4.setOnClickListener(new OnClickListener() {
           public void onClick(View view) {               
               Uri uri = Uri.parse("http://tory.com/");
               Intent intent = new Intent(Intent.ACTION_VIEW, uri);
               startActivity(intent);                  
        }
    });