2017-02-19 105 views
1

我可以找到很多關於如何使用ZXing庫讀取QR碼的例子,但是,很久以前,Android Camera App開始閱讀這些代碼,我想觸發一個Intent或者某個東西,並且能夠檢索讀取的QR碼無需安裝或導入任何其他內容。下圖顯示了對攝像頭的應用程序讀取QR碼的結果,注意,如果點擊了格倫圈,讓我複製OT剪貼板中的QR碼的內容:如何使用原生Android Camera App讀取條碼/ qrcode(無ZXing)?

enter image description here

+1

我認爲您所說的原生應用程序可能是您所使用設備的開發人員。 Android的默認相機應用程序不會這樣做。 –

+0

Humm,我正在運行一個Moto X 2 Gen,這是我在我的國家可以得到的最純粹的Android系統,我不知何故認爲它是一個新功能。感謝您澄清! –

回答

2

我認爲這將讓你的應用程序限制某些設備的原因盡我所知不是所有的設備都有這種類型的本機相機應用程序。所以你最好使用Zxing來獲得簡單,獨立於設備的應用程序。看看this

2

Android相機應用開始nativally讀取這些代碼

有〜2臺十億Android設備,從數以百計的設備製造商遍佈數千器件模型。由於設備製造商傾向於實施他們自己的相機,因此在這些設備上將會有數十個(如果不是數百個)預先安裝的相機應用程序。這些預安裝攝像頭的應用程序:

  • 少數幾家QR碼掃描

  • 沒有那些提供QR碼掃描所提供的任何形式爲第三方應用程序的API請求QR碼掃描

特別是,Android SDK中沒有任何內容允許應用程序請求第三方掃描QR碼。

+0

據我所知,它不會達到接近運行android的設備數量,但這不是我的目標。我只是想知道是否可以請求相機應用程序讀取QR碼,就像我們要求Gallery給我們一個圖像Uri。 –

+1

@EdgarDaSilvaFernandes:Android SDK沒有這個功能。歡迎您聯繫您選擇的相機應用程序的開發人員,並詢問他們是否擁有提供此功能的專有API。 – CommonsWare

1

有一個庫叫zbar,它將讀取任何形式的條形碼,包括QR。它是用純C編寫的,用於性能和可移植性。它有很多操作系統和框架的包裝,包括Android。它佔用很少的空間和資源,應該可以輕鬆地集成到您的應用程序中。

我只使用它從我的基於Qt5的應用程序,但它也應該可以直接從本機Android使用。

構建它可能需要訪問NDK,我不確定它是否包含預構建的Android二進制文件。它有很多的構建時間配置,您可以更改以刪除您不需要的功能和綁定等。

我相信Android的代碼包含一些示例。

祝你好運!