1

如何使用android 6創建qrcode掃描儀應用程序? Android 6使用android.hardware.camera2來訪問攝像頭。如果我必須更新整個ZXING庫,這對於像我這樣的新手來說需要很長時間。有沒有簡單的方法來做到這一點?安卓相機2 qrscanner qrcode掃描儀

+0

ZXING庫有什麼問題?我正在運行Android 6,它工作正常。 – Juvi

+0

您(並通過ZXing的推廣)仍然可以訪問Marshmellow上的舊相機API。爲什麼不使用它? – Anubis

+0

我使用了運行android 6的Nexus 5X。我用舊的android android.hardware.Camera來訪問攝像頭。它打破了應用程序。在使用新的android.hardware.camera2 API後,它工作正常。所以這就是爲什麼我不能再使用它了。 –

回答

1

您可以使用名爲Zxing的第三方庫。

您可以添加通過gradle這個依賴斑馬線庫到你的應用程序

只是添加到您的build.gradle文件

compile 'com.google.zxing:core:3.2.1' 
compile 'com.journeyapps:zxing-android-embedded:[email protected]' 

現在,在您的活動onCreate方法,請執行下列操作

IntentIntegrator scanIntegrator = new IntentIntegrator(MainActivity.this); 
scanIntegrator.setPrompt("Scan a Barcode"); 
scanIntegrator.setBeepEnabled(true); 
scanIntegrator.setOrientationLocked(true); 
scanIntegrator.setBarcodeImageEnabled(true); 
scanIntegrator.initiateScan(); 

您可以找到一個示例項目here

+0

我試過了。它幾乎工作。好吧,基本上是因爲我猜錯誤是有例外的,所以APP不會中斷。它說:對不起,Android相機遇到了問題。您可能需要重新啓動設備。 在此之後,我試圖運行相機(谷歌相機應用程序),它工作正常。此外,我嘗試使用camera2-basic的相機,它也可以正常工作。 –

+0

嘗試添加<使用權限android:name =「android.permission.CAMERA」/>並將您的目標sdk版本設置爲22 –

+0

它的工作原理!注意:我已經在清單上放置了。它仍然會產生錯誤。在將build.gradle中的目標sdk從23更改爲22後,它可以正常工作。這是爲什麼?在此之後,我又將目標sdk從22改爲23。而且APP也起作用。我可以使用zxing來掃描qrcode。這是爲什麼?是否因爲我的項目丟失了當我使用目標SDK 23時IDE未生成的東西,並且在使用目標SDK 22時以某種方式生成了它?這解決了我的問題,謝謝你,但它沒有回答這個問題。 –