Ran*_*952 3 android web-applications hyperlink webview
我想构建一个没有 PhoneGap 的 Android webApplication,我有一个问题:当我点击一个链接时,它会打开 android 默认浏览器...:那么如何在同一个 webview Android 中加载 webview 链接?
这是我的代码:
package com.example.mobilewebview;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.webkit.WebView;
//import android.webkit.WebViewClient;
import android.webkit.WebSettings;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView myWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebView.loadUrl("http://m.google.com");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢 !
您必须拦截您WebView可能拥有的 URL 链接才能进行自定义实现。
您必须WebViewClient为您创建一个WebView,然后覆盖该public boolean shouldOverrideUrlLoading(WebView view, String url)方法来实现这样的事情。
示例代码:
//web view client implementation
private class CustomWebViewClient extends WebViewClient {
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
//do whatever you want with the url that is clicked inside the webview.
//for example tell the webview to load that url.
view.loadUrl(url);
//return true if this method handled the link event
//or false otherwise
return true;
}
}}
//in initialization of the webview:
....
webview.setWebViewClient(new CustomWebViewClient());
....
Run Code Online (Sandbox Code Playgroud)
告诉我这是否有帮助。