
參考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