您的位置:首页 > Web前端 > HTML5

实现封装在安卓里的html5,跳转到指定activity

2017-07-13 09:41 399 查看
1、html5内部一个超链接写为:

<a href="网站地址/op=print">洋葱</a>

2、在主activity里面主要代码为:

public WebView mWebView;
private  JSONObject newJson = new JSONObject(); 
@Override
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.main_web_view);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.requestFocus();
mWebView.setScrollBarStyle(WebView.SCROLLBARS_INSIDE_OVERLAY);
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub

                                  //允许读取js的内容
view.getSettings().setJavaScriptEnabled(true);
view.addJavascriptInterface(this, "nativeMethod");
//判断点击的超链接是否为打印按钮
if(url.endsWith("print")){
startActivity(new Intent(MainActivity.this,SecondActivity.class));
return true;
}
else{
view.loadUrl(url);
return true;
}
}

            
@Override

            public void onReceivedError(WebView view, int errorCode,

                            String description, String failingUrl) {

 //                   super.onReceivedError(view, errorCode, description, failingUrl);

                    mWebView.loadUrl("file:///android_asset/neterror.html");

            }
});

mWebView.setWebChromeClient(new MyWebChromeClient());
mWebView.addJavascriptInterface(new DemoJavaScriptInterface(), "device");
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("网站地址");
}

其中shouldOverrideUrlLoading(WebView view, String url) 的方法是每次都会执行的方法,只需要然后你只需要拦截‘洋葱’按钮的url,让他实现跳转acrtivity就行了。

所以实现的重点是:public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
view.getSettings().setJavaScriptEnabled(true);
view.addJavascriptInterface(this, "nativeMethod");
//判断点击的超链接是否为打印按钮
if(url.endsWith("print")){
startActivity(new Intent(MainActivity.this,SecondActivity.class));
return true;
}
else{
view.loadUrl(url);
return true;
}
}

            这一段代码。

下一步会继续实现,跳转的同时进行传递参数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: