问题如下
1、android调用js方法无效的问题
我的原因是少了
webView.setWebChromeClient(new WebChromeClient());这一句
2、js调用android方法无效的问题
我的原因:在api>17之后为了解决webviewjs调用任意代码的漏洞,要给回调的方法加上
@JavascriptInterface 使用方式可以看下面的源码
解决后的代码:
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
WebView webView;
String text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView= (WebView) findViewById(R.id.main_webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient());
//这一句是为了不让外部链接跳转到其他app去执行,而是在我们自己的webview上显示
// webView.setWebViewClient(new WebViewClient(){