android与webview相互调用
java中调用 javascript
javascript 调用 java方法
public class MainActivity extends AppCompatActivity { private WebView webview; private LinearLayout activity_main; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); webview.setWebChromeClient(new WebChromeClient(){ @Override public boolean onJsAlert(WebView view, String url, String message, JsResult result) { return super.onJsAlert(view, url, message, result); } }); webview.getSettings().setJavaScriptEnabled(true); //添加调用Javascript接口方法 类的方法需要加上注解 //参数一:调用接口 类的实例 //参数二:与后段定义的 协议 onclick="window.and.openC()" webview.addJavascriptInterface(new HEHE(),"and"); webview.loadUrl("file:///android_asset/web.html"); } public void onclick(View view) { //调用 html的代码 webview.loadUrl("javascript:open()"); } private void initView() { webview = (WebView) findViewById(R.id.webview); activity_main = (LinearLayout) findViewById(R.id.activity_main); } public class HEHE{ //提供给html代码调用 @JavascriptInterface public void openC(){ startActivity(new Intent(MediaStore.ACTION_IMAGE_CAPTURE)); } } }
本文介绍了如何在Android应用中实现Java与WebView内的JavaScript之间的交互。通过设置WebChromeClient和启用JavaScript,Java代码可以调用JavaScript函数,同时使用`addJavascriptInterface`方法暴露Java方法供JavaScript调用。示例代码展示了如何从Java启动相机功能以及从JavaScript触发Java方法。
281

被折叠的 条评论
为什么被折叠?



