Android与JS混编(js调用android相机)

  

参考android相机调用,http://blog.csdn.net/yanzi1225627/article/details/33028041/,谢谢

相机怎么调用就不做赘述了,下面是js调用相机的代码:

java:

 1 **
 2  * Created by Administrator on 2016/6/24 0024.
 3  */
 4 public class QRCodeHtmlActivity extends Activity {
 5     /**
 6      * 网页
 7      */
 8     private WebView wvQRCode;
 9     @Override
10     protected void onCreate(Bundle savedInstanceState) {
11         super.onCreate(savedInstanceState);
12         setContentView(R.layout.activity_html_qrcode);
13         initView();
14         setWebView();
15     }
16 
17     private void initView() {
18         wvQRCode = (WebView) findViewById(R.id.wv_qrcode);
19     }
20 
21     /**
22      * 设置网页
23      */
24     private void setWebView(){
25         //允许JavaScript执行
26         wvQRCode.getSettings().setJavaScriptEnabled(true);
27         //向js传递对象
28         wvQRCode.addJavascriptInterface(new ShowCamera(),"camera");
29         //不会node的小伙伴可以保存到assets
30         //wvQRCode.loadUrl("file:///android_asset/QRCode.html");
31         //访问网页
32         wvQRCode.loadUrl("http://192.168.253.1:3000/htmls/QRCode.html");
33     }
34     public final class ShowCamera {
35         //Html调用此方法传递数据,注解一定要留着否则会出错
36         @JavascriptInterface
37         public void showCamera() {
38             Intent intent = new Intent(QRCodeHtmlActivity.this, QRCodeSurfaceActivity.class);
39             //调用打开相机的界面
40             QRCodeHtmlActivity.this.startActivity(intent);
41         }
42     }
43 }

html:

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5     <title>二维码调用</title>
 6     <script type="text/javascript">
 7         function showQRCode() {
 8             window.camera.showCamera();
 9         }
10     </script>
11 </head>
12 <body>
13 <h3>本例子是点击按钮调用相机扫描二维码</h3>
14 <input type="button" name="" value="点击调用" onclick="javascript:showQRCode()"/>
15 </body>
16 </html>

github: https://github.com/weifengzz/AndroidJSQRCode

原文地址:https://www.cnblogs.com/weifengzz/p/5613418.html