WebView的简单使用,附加一点JS交互操作
2017-07-25 20:10
573 查看
/** * ___====-_ _-====___ * _--^^^#####// \\#####^^^--_ * _-^##########// ( ) \\##########^-_ * -############// |\^^/| \\############- * _/############// (@::@) \\############\_ * /#############(( \\// ))#############\ * -###############\\ (oo) //###############- * -#################\\ / VV \ //#################- * -###################\\/ \//###################- * _#/|##########/\######( /\ )######/\##########|\#_ * |/ |#/\#/\#/\/ \#/\##\ | | /##/\#/ \/\#/\#/\#| \| * ` |/ V V ` V \#\| | | |/#/ V ' V V \| ' * ` ` ` ` / | | | | \ ' ' ' ' * ( | | | | ) * __\ | | | | /__ * (vvv(VVV)(VVV)vvv) * 神兽保佑 * 代码无BUG! */public class MainActivity extends Activity { private TextView tvTitle; private ProgressBar bar; private WebView webView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webView = (WebView) findViewById(R.id.webview); tvTitle = (TextView) findViewById(R.id.tvTitle); bar = (ProgressBar) findViewById(R.id.bar); // 加载一个远程服务器上的HTMl资源 // webView.loadUrl("http://172.17.70.50:8080/index.html"); // 加载一个本地网页 file:///android_asset 固定写法 webView.loadUrl("file:///android_asset/index.html"); // 设置WebView是否支持Js与android之间进行交互 webView.getSettings().setJavaScriptEnabled(true); // this 相当于你的学名 test 相当于你的小名 webView.addJavascriptInterface(MainActivity.this, "test"); webView.setWebChromeClient(new WebChromeClient() { @Override public void onReceivedTitle(WebView view, String title) { super.onReceivedTitle(view, title); tvTitle.setText(title); } @Override public void onProgressChanged(WebView view, int newProgress) { super.onProgressChanged(view, newProgress); bar.setProgress(newProgress); } }); webView.setWebViewClient(new WebViewClient() { @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); bar.setVisibility(View.VISIBLE); } @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); bar.setVisibility(View.GONE); } }); } public void btnAndroidCallJs(View v) { // android 调用js 里面的代码 webView.loadUrl("javascript:androidCallJs('fuck!')"); } // @JavascriptInterface 注解让js识别该方法 @JavascriptInterface public void sayHello(String msg) {// 属于android的 Toast.makeText(this, "我被js调用了 : " + msg, 0).show(); }}
index.html界面
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>测试android与js交互</title> <script>//js调用android里面的方法function jsCallAndroid() { test.sayHello("你好");}//android调用js方法function androidCallJs(msg) { alert("我被android调用了 : " + msg);}</script> </head> <body> <input type="submit" value="js调用android里面的方法" onclick="jsCallAndroid()"/> </body></html>相关文章推荐
- WKWebView的简单使用,与js交互(js调用OC或swift方法)
- (转)WebView与JS交互和VedioView的简单使用
- WebView的简单使用及和js的交互
- iOS中OC与JS交互WebViewJavascriptBridge的简单使用
- js与webView的简单交互
- iOS开发 ----- webView和JS的简单交互
- [iOS] 使用WebViewJavascriptBridge实现OC与JS交互
- UIWebView和WKWebView的使用及js交互
- 安卓webview的详细使用详情,webview和js交互
- WKWebView的使用与JS交互详细解读
- 安卓webview的详细使用详情,webview和js交互
- [js&oc交互]WebViewJavascriptBridge简单实用
- [iOS] 使用WebViewJavascriptBridge实现OC与JS交互
- iOS中原生APP与JS交互 之 WebViewJavascriptBridge 的简单用法
- IOS 开发OC 与JS 交互 WebviewJavaScriptBridge 的简单实用(二)
- [iOS] 使用WebViewJavascriptBridge实现OC与JS交互
- HTML---android webview组件如何使用 Webview与js交互
- Android基础——WebView使用(二)Java与JS交互
- [iOS] 使用WebViewJavascriptBridge实现OC与JS交互
- UIWebView和WKWebView的使用及js交互