这是我的代码:
public class MainActivity extends Activity {
@SuppressLint("SetJavaScriptEnabled") @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView mywebview = (WebView) findViewById(R.id.webview);
mywebview.loadUrl("http://www.shufflemylife.com/shuffle");
WebSettings webSettings = mywebview.getSettings();
webSettings.setJavaScriptEnabled(true);
mywebview.setWebViewClient(new WebViewClient());
}
class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(url.contains("/shuffle")){
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
return true;
}
}
}
Run Code Online (Sandbox Code Playgroud)
基本上,我希望任何包含'/ shuffle'的url在WebView中加载,以及在外部浏览器中打开的任何其他内容.它可行吗?我有多接近完成这件事?
谢谢你的帮助!
可行吗?
是的。
我离实现这个目标还有多远?
接近,但倒退。a 的默认行为WebView是在外部浏览器中显示链接。因此,如果url.contains("/shuffle"),您希望要求loadUrl()您WebView将链接保留在内部,并true在这种情况下返回。如果这是您想要正常处理的 URL,请返回false。
| 归档时间: |
|
| 查看次数: |
8086 次 |
| 最近记录: |