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