簡體   English   中英

Android Zxing(條形碼庫)。 如何更改掃描后的意圖

[英]Android Zxing (barcode library). How to change the after scan intent

我正在開發一個Android應用程序,我需要嵌入Zxing掃描儀。 該應用程序應允許用戶掃描QR碼,然后存儲產品的QR碼ID並從XML文件進行解析。 到目前為止,我已經使用了簡單的代碼:

Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.setPackage(getPackageName());        
intent.putExtra("com.google.zxing.client.android.SCAN.SCAN_MODE", "QR_CODE_MODE");
startActivityForResult(intent, 0);

該代碼的作用是掃描產品並將我帶回到應用程序的上一個屏幕。 我沒有包括Zxing的整個庫,因為我想讓條形碼掃描儀來處理它,但是看來我要做的事情比已經完成的要多。

您需要創建一個onActivityResult方法,該方法將在條形碼掃描儀完成后獲取回調。 在其中,您將處理代碼字符串,並隨心所欲地對其進行處理。

/*Here is where we come back after the Barcode Scanner is done*/
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    if (requestCode == 0) {
        if (resultCode == RESULT_OK) {
            // contents contains whatever the code was
            String contents = intent.getStringExtra("SCAN_RESULT");

            // Format contains the type of code i.e. UPC, EAN, QRCode etc...
            String format = intent.getStringExtra("SCAN_RESULT_FORMAT");

            // Handle successful scan
            Log.i("TAG",format + "\t" + contents);
        } else if (resultCode == RESULT_CANCELED) {
            // Handle cancel. If the user presses 'back' before a code is scanned.
            Log.i("TAG","Canceled");
        }
    }
}

此示例僅記錄結果,您需要對其進行擴展以對從掃描儀獲取的信息進行任何操作。

更好的是,使用項目隨附的IntentIntegrator類。 它總結了此處列出的所有詳細信息,並且其文檔已經完全告訴您如何將其集成到您的應用程序中。 它可以處理您需要安裝的應用程序(如果尚未安裝)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM