android 和 js交互 客户端调用的方法
来源:互联网 发布:探测网络拓扑 编辑:程序博客网 时间:2024/05/21 20:36
mWebView.setWebViewClient(new WebViewClient() {
// 点击H5的按钮,跳转到另一个界面,单机H5里的提交按钮判断是否登录,onPageFinished()每次加载都会调用
@Overrid
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("login")) {
//未登录
if (!AccHelper.isLogin(AppContext.MainContext)) {
LikeIosDialog loginDialog = new LikeIosDialog(cn.cntv.ui.activity.HudongWebActivity.this);
loginDialog.setmUserDefinedMsg("您还没有登录,是否登录?");
loginDialog.setOnCertainButtonClickListener(new LikeIosDialog.OnCertainButtonClickListener() {
@Override
public void onCertainButtonClick() {
startActivityForResult(new Intent(cn.cntv.ui.activity.HudongWebActivity.this, LoginActivity.class), 101);
// MobileAppTracker.trackEvent("登录", "", "边看边聊", 0, HudongWebActivity.this);
overridePendingTransition(R.anim.task_slide_in_right,
R.anim.task_slide_out_left);
}
@Override
public void onCancleButtonClick() {
}
});
loginDialog.setCancelable(false);
loginDialog.show();
}
return true;
}
//5.28日因songbo要求6.1.0版本注释掉,下个版本再上线
// else if (url.startsWith("share")) {
// Log.e("yuedongwebactivity",url);
// try {
// //url: "share://www.cntv.com?mTitle=XXX&mImgUrl=XXX&mPath=XXX"
// Uri uri = Uri.parse(url.replace("share://", "http://"));
// // 匹配验证码
// mTitle = uri.getQueryParameter("mTitle"); //分享的标题
// mImgUrl = uri.getQueryParameter("mImgUrl");//小图片的地址,大小在32k
// mPath = uri.getQueryParameter("mPath");//跳转html5地址
//
// Log.e("yuedongwebactivity","mTitle="+mTitle+";;mImgUrl="+mImgUrl+";;mPath="+mPath);
//
// if (shareToPopupWindow != null)
// shareToPopupWindow.dismiss();
// shareToPopupWindow = ShareToPopupWindow.show("", false, HudongWebActivity.this, mTitle, mImgUrl, mPath, mTitle, false, findViewById(R.id.hudong_web_main));
// }
// catch (Exception ex)
// {
// ex.printStackTrace();
// }
// return true;
// }
else {
try {
if (!url.endsWith(".apk") && (url.startsWith("http:") || url.startsWith("https:"))) {
view.loadUrl(url);
return false;
}
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
if (mWebView != null) {
mWebView.loadUrl("javascript:shareForAndroid()");
if (AccHelper.isLogin(AppContext.MainContext)) {
mWebView.loadUrl("javascript:cboxGetUserStatus('" + AccHelper.getUserId(cn.cntv.ui.activity.HudongWebActivity.this) + "','" + AccHelper.getVerifycode(cn.cntv.ui.activity.HudongWebActivity.this) + "')");
}
}
}
});
// 点击H5的按钮,跳转到另一个界面,单机H5里的提交按钮判断是否登录,onPageFinished()每次加载都会调用
@Overrid
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("login")) {
//未登录
if (!AccHelper.isLogin(AppContext.MainContext)) {
LikeIosDialog loginDialog = new LikeIosDialog(cn.cntv.ui.activity.HudongWebActivity.this);
loginDialog.setmUserDefinedMsg("您还没有登录,是否登录?");
loginDialog.setOnCertainButtonClickListener(new LikeIosDialog.OnCertainButtonClickListener() {
@Override
public void onCertainButtonClick() {
startActivityForResult(new Intent(cn.cntv.ui.activity.HudongWebActivity.this, LoginActivity.class), 101);
// MobileAppTracker.trackEvent("登录", "", "边看边聊", 0, HudongWebActivity.this);
overridePendingTransition(R.anim.task_slide_in_right,
R.anim.task_slide_out_left);
}
@Override
public void onCancleButtonClick() {
}
});
loginDialog.setCancelable(false);
loginDialog.show();
}
return true;
}
//5.28日因songbo要求6.1.0版本注释掉,下个版本再上线
// else if (url.startsWith("share")) {
// Log.e("yuedongwebactivity",url);
// try {
// //url: "share://www.cntv.com?mTitle=XXX&mImgUrl=XXX&mPath=XXX"
// Uri uri = Uri.parse(url.replace("share://", "http://"));
// // 匹配验证码
// mTitle = uri.getQueryParameter("mTitle"); //分享的标题
// mImgUrl = uri.getQueryParameter("mImgUrl");//小图片的地址,大小在32k
// mPath = uri.getQueryParameter("mPath");//跳转html5地址
//
// Log.e("yuedongwebactivity","mTitle="+mTitle+";;mImgUrl="+mImgUrl+";;mPath="+mPath);
//
// if (shareToPopupWindow != null)
// shareToPopupWindow.dismiss();
// shareToPopupWindow = ShareToPopupWindow.show("", false, HudongWebActivity.this, mTitle, mImgUrl, mPath, mTitle, false, findViewById(R.id.hudong_web_main));
// }
// catch (Exception ex)
// {
// ex.printStackTrace();
// }
// return true;
// }
else {
try {
if (!url.endsWith(".apk") && (url.startsWith("http:") || url.startsWith("https:"))) {
view.loadUrl(url);
return false;
}
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
if (mWebView != null) {
mWebView.loadUrl("javascript:shareForAndroid()");
if (AccHelper.isLogin(AppContext.MainContext)) {
mWebView.loadUrl("javascript:cboxGetUserStatus('" + AccHelper.getUserId(cn.cntv.ui.activity.HudongWebActivity.this) + "','" + AccHelper.getVerifycode(cn.cntv.ui.activity.HudongWebActivity.this) + "')");
}
}
}
});
0 0
- android 和 js交互 客户端调用的方法
- Android Webview和JavaScript交互--JS调用Android方法
- JS和Android交互调用
- android客户端和服务端js交互
- Android客户端和服务器端数据交互的第一种方法
- Android客户端和服务器端数据交互的第二种方法
- Android客户端和服务器端数据交互的第三种方法
- Android客户端和服务器端数据交互的第四种方法
- js与android客户端的交互
- Android和H5、JS进行交互调用
- js与Android交互之js调用Android中的方法
- js 与 android 的交互(方法互调用) 和android向 js传递值, js向android传参数 事件拦截看上一篇
- Unity调用android的方法,android调用Unity的方法,unity和安卓的交互
- Android js和native交互的两种方法
- Android客户端和Internet的交互
- android客户端和webservive交互的方式
- android与JS交互,互相调用方法,跳转到网页
- 简单的Android服务端和客户端登录交互(客户端)
- Linux下Oracle启动、建立表空间、用户、授权、数据库导入导出
- 爬虫框架相关的一点感想
- vim 每行行首或行行尾插入
- KDZ个人博客的开发
- Jquery autocomplete
- android 和 js交互 客户端调用的方法
- 使用pushState实现微信“返回”按钮控制单页应用页面的无刷新跳转
- Flume hdfs 案例
- 无法定位软件包:cuda问题解决方法
- 举例说明ArrayAdapter的使用和如何设置ListView中每个Item的点击事件
- mac 端口 进程命令
- React Native 学习笔记十六(细节分析)
- Android 数据的存储
- Struts2学习笔记之Context Map