实现封装在安卓里的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;
}
}
这一段代码。
下一步会继续实现,跳转的同时进行传递参数。
<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;
}
}
这一段代码。
下一步会继续实现,跳转的同时进行传递参数。
相关文章推荐
- 安卓开发实现开机启动跳转到指定activity
- 安卓学习记录之五(手动创建Activity,实现页面跳转)
- 安卓封装html5、解决html界面之间不能跳转的问题
- 安卓--使用Intent实现Activity之间传值与跳转
- 安卓开发跳转其他app指定activity
- 安卓开发之如何利用Intent对象,实现Activity和另一个Activity之间的跳转
- 【安卓开发-2】第一次实现Activity的跳转、Activity生命周期、3种正向传值、反向传值
- 安卓从一个Activity跳转到另一个Activity传递数据实现
- 安卓之实现activity间的定时跳转
- Activity 之间实现自定义动画跳转
- 用intent实现Android中Activity之间的跳转
- Android中不同包路径下Activity跳转的实现(解决ActivityNotFoundException)
- 一个app,多个入口图标,activity-alias实现多程序入口并显示指定view完成
- Android 中TabHost子选项卡里实现Activity跳转而选项卡不消失
- Android: 采用 startActivityForResult 实现多个Activity间不同不同跳转流程
- 在一个TabHost内实现多个Activity的跳转
- tomcat的404报错页面指定即跳转方式的实现
- 利用Intent实现多个Activity之间的跳转
- android,返回前一个activity的简单实现 及activity跳转的简单操作
- 使用Intent实现Activity之间传值与跳转