WebView与js交互
来源:互联网 发布:淘宝联盟买东西返钱 编辑:程序博客网 时间:2024/06/04 22:29
main下新建一个文件assets---www---index.html: 布局加一个webview 然后添加一个网络权限
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>hybird</title> <script> function onJsToNative(){ var value=document.getElementById("inputValue").value; alert(value); window.location.href="login://usermanager/userlogin?userName="+value; } function onJsToNative2(){ myApp.showToast("from html show on native !"); } function onNativeToJs(fromNativeValue){ alert(fromNativeValue); } </script></head><body><img src="https://www.baidu.com/img/bd_logo1.png"><img src="http://img04.sogoucdn.com/app/a/100520024/4edf482718b95060bbdd6b886248296d"><input id="inputValue"><button onclick="onJsToNative()">jsToNative</button><button onclick="onJsToNative2()">jsToNative2</button></body></html>
MianActivity:
public class MainActivity extends AppCompatActivity { private com.tencent.smtt.sdk.WebView load;// private WebView load; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); initData(); } private void initData() { load.loadUrl("file:///android_asset/www/index.html"); WebSettings websetting = load.getSettings(); websetting.setJavaScriptEnabled(true); String ua = websetting.getUserAgentString(); websetting.setUserAgentString(ua+" bwie"); load.setWebChromeClient(new WebChromeClient() { }); load.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if (url.startsWith("login://") && url.contains("userlogin")) { Uri uri = Uri.parse(url); String userName = uri.getQueryParameter("userName"); showToast(userName); nativeToHTML(); return true; } return super.shouldOverrideUrlLoading(view, url); } }); load.addJavascriptInterface(new MyJavaScriptInter(),"myApp"); } private void initView() { load = (com.tencent.smtt.sdk.WebView) findViewById(R.id.webview_mian_loaddatel); } public void showToast(String str) { Toast.makeText(MainActivity.this, str, Toast.LENGTH_LONG).show(); } class MyJavaScriptInter { @JavascriptInterface public void showToast(String str) { MainActivity.this.showToast(str); } } public void nativeToHTML() { if (Build.VERSION.SDK_INT < 19) { load.loadUrl("javascript:onNativeToJs('from native')"); } else { load.evaluateJavascript("javascript:onNativeToJs('from native')", null); }// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {// load.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);// } }}
阅读全文
0 0
- webview与js交互
- webview与js交互
- webview与js交互
- webview与js交互
- webview与js交互
- webview与js交互
- WebView与JS交互
- webView与js交互
- webView与js交互
- webview与js交互
- webview与js交互
- webview与js交互
- webview与js交互
- WebView与JS交互
- webview与js交互
- Webview 与JS 交互
- webview与js交互
- WebView与Js交互
- 双向链表的简单实现
- VLC优化(2)修改VLC读缓冲机制
- Android studio 无法创建Android项目 根本就没有这个选项
- 日期类——日期计算器
- 常见Linux命令及用法
- WebView与js交互
- undefined undefined reference to `nfq_open'
- bzoj 2330 SCOI【2011】 糖果
- JZOJ 3928. 【NOIP2014模拟11.6】射击
- jzoj 3927_可见点数_数论
- HDU4751 二分图判断
- 图片上传预览原理及实现
- 2017西安交大ACM小学期 有趣异或[Trie树]
- java变量命名规范