今天来记录一下关于Android与h5交互的内容 满足日常需求,带参数传值的,我也是业务中的需求,解决了问题决定记录一下~ 声明:都可以复制直接
今天来记录一下关于Android与h5交互的内容 满足日常需求,带参数传值的,我也是业务中的需求,解决了问题决定记录一下~
声明:都可以复制直接拿来用的~
public class MainActivity extends AppCompatActivity {
@SuppressLint("javascriptInterface")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//找资源id WEBView
final WebView webView = findViewById(R.id.webview);
//设置支持js
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
Button bt_jump = findViewById(R.id.bt_jump);
//通过点击加载网页
bt_jump.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//加载网页
webView.loadUrl("https://www.baidu.com/");
}
});
//加载网络网页
//webView.loadUrl("Https://www.baidu.com/");
//加载本地网页 //本地网页路径file:///android_asset
//先把你的工程切换为Project模式 在src/main文件夹下建立一个assets的资源文件夹,放入本地html
webView.loadUrl("file:///android_asset/login.html");
//设置弹出对话框
webView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
//默认是不弹出对话框 返回false会弹出对话框
return false;
}
});
//android调js方法
webView.setOnLonGClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// android调js无参方法
webView.loadUrl("javascript:login()");
//android 调用js方法带参数 helloWord会传到H5页面
// webView.loadUrl("javascript:login(\"HelloWord\")");
//这个myString 支持一些需要上传网页内容 private String myString = "";
//webView.loadUrl("javascript:test1(\"" + myString + "\")");
return false;
}
});
//js调用android方法
//添加支持js调用android方法
//这个的this 可以换成一个类 例如: new UserBean()在里面定义android的方法也可以 第二个参数 android 是一个双方都认识的标识 这个需要跟你的H5同事进行沟通定义
webView.addJavascriptInterface(this,"android");
}
//定义android方法
//添加注解,showUserInfo方法是H5页面也有的方法 在这里相当于重写,但是不是重写,方法不对的话 js调用不到android的showUserInfo方法
//定义带参数的方法
@JavascriptInterface
public void showUserInfo(String name,String pwd){
Toast.makeText(this, "js调用android方法" + name + pwd, Toast.LENGTH_SHORT).show();
}
}
上面android这边介绍完了下面贴一个h5页面把简单版的
登录
div.crm{
position: absolute;
top: 20%;
left: 20%;
}
.username{
background:#00ff96;
width: 200px;
height:20px ;
}
.password{
background: #00FF96;
width: 200px;
height:20px ;
}
.login{
position: absolute;
left: 40%;
}
这是一个网站登录页面
用户名
密    码
function login(){
var name =document.getElementById('username').value;
var pwd =document.getElementById('password').value;
android.showUserInfo(name,pwd);
//android.showUserInfo();
alert("用户名:"+name+",密码:"+pwd);
}
--结束END--
本文标题: android与H5交互
本文链接: https://www.lsjlt.com/news/29424.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-01-21
2023-10-28
2023-10-28
2023-10-27
2023-10-27
2023-10-27
2023-10-27
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0