跳到主要內容

Android 呼叫 zxing QR code scanner

今天弄個簡單的範例是關於執行QR code掃描的部分
這個方法是直接呼叫 Barcode scanner 的方法

首先在 build.gradle 的 dependencies 加上 compile 'com.google.zxing:android-integration:3.2.1'
dependencies {
    ...
    compile 'com.google.zxing:android-integration:3.2.1'
}


呼叫的方式則是在 Activity or Fragment 中加入執行的程式

IntentIntegrator scanner = new IntentIntegrator(mActivity);
scanner.initiateScan();


要如何得到掃描的值呢?只要 override onActivityResult 就可以囉!

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    IntentResult scanner = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
    if (scanner != null) {
        String code = scanner.getContents(); // 掃描得到的字串
        String format = scanner.getFormatName(); // 掃描的格式, 如 QR_CODE
    }
}

附上參考的 java doc

留言

這個網誌中的熱門文章

判斷是不是json格式 - PHP

<?php /** * Check the string is json * * @param string $str * @return bool * @throws Exception if the string is not json */ function isJson ( $str ) { json_decode ( $str ); $code = json_last_error (); switch ( $code ) { case JSON_ERROR_NONE: return true ; case JSON_ERROR_DEPTH: throw new Exception( "Maximum stack depth exceeded" ); case JSON_ERROR_STATE_MISMATCH: throw new Exception( "Underflow or the modes mismatch" ); case JSON_ERROR_CTRL_CHAR: throw new Exception( "Unexpected control character found" ); case JSON_ERROR_SYNTAX: throw new Exception( "Syntax error, malformed JSON" ); case JSON_ERROR_UTF8: throw new Exception( "Malformed UTF-8 characters, possibly incorrectly encoded" ); default : throw new Exception( "U...

input 陣列 - PHP

要如何在 input 裡面回傳陣列資料呢? 就寫了一個簡單的小範例。 以下是 php 原始碼 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <?php /** 印出Get裡面的資訊 **/ if ( ! empty ( $_GET )) print_r ( $_GET ); /** 初始資料設定 **/ $id = array ( 0 => '#0001' , 1 => '#0002' ); $data [ $id [ 0 ]] = array ( 'date' => '2012-08-12' , 'note' => '上海出差' ); $data [ $id [ 1 ]] = array ( 'date' => '2012-08-17' , 'note' => '北京出差' ); /** 印出表單資訊 **/ echo "<form method='get'>" ; foreach ( $data as $key => $row ){ echo "<input type='text' name=' { $key } [date]' value=' { $row [ 'date' ] } ' />" ; echo "<input type='text' name=' { $key } [note]' value=' { $row [ 'note' ] } ' />" ; echo "<br />" ; } echo "<input type='submit' value='送出' />" ; e...