Android透過ZXing讀取BarCode和QRCode[完全不用自己寫~呼叫別人掃描在讀取結果即可]

Android透過ZXing讀取BarCode和QRCode[完全不用自己寫~呼叫別人掃描在讀取結果即可]

Android透過ZXing讀取BarCode和QRCode[完全不用自己寫~呼叫別人掃描在讀取結果即可]

資料來源:http://blog.johnsonlu.org/android%E9%80%8F%E9%81%8Ezxing%E8%AE%80%E5%8F%96barcode%E5%92%8Cqrcode/

step01:
    Intent intent = new Intent(“com.google.zxing.client.android.SCAN”);
    if(getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY).size() == 0) {
        //未安裝
    }

 

step02:
    //開啟QRcode Scanner
    private OnClickListener qrcode_scanner = new OnClickListener(){
        public void onClick(View v) {
            Intent intent = new Intent(“com.google.zxing.client.android.SCAN”);
            //選擇SCAN_MODE
            //只判斷QRCode
            intent.putExtra(“SCAN_MODE”, “QR_CODE_MODE”);
            //只判斷二維條碼
            intent.putExtra(“SCAN_MODE”, “PRODUCT_MODE”);
            //支援的調碼都可以判斷
            intent.putExtra(“SCAN_MODE”,”SCAN_MODE”);
            //呼叫ZXing Scanner,完成動作後回傳1
            startActivityForResult(intent, 1);
        }
    };
    

 

step03:
    //startActivityForResult會將值傳回到onActivityResult
    public void onActivityResult(int requestCode, int resultCode, Intent intent) {
        //requestCode在startActivityForResult傳入參數時決定的,如果成功的話會傳回相同的值
        if (requestCode == 1) {
            //成功回傳值
            if (resultCode == RESULT_OK) {
                //ZXing回傳的內容
                String contents = intent.getStringExtra(“SCAN_RESULT”);
                //ZXing回傳的格式
                String format = intent.getStringExtra(“SCAN_RESULT_FORMAT”);
                //做其他處理
            } else if (resultCode == RESULT_CANCELED) {
                //當還沒完成動作時,使用者倒退回上一步會判定為cancel
            }
        }
    }    

 

 

 



 


發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *