android開發(17) 掃描二維碼 - 調用第三方APK來實現二維碼掃描,參考自 開源項目zxing


二維碼的應用是越來越廣呢。我們會收到在手機上掃描二維碼的需求,那么,我們嘗試使用一種方法實現。

 

前置: 

需要第三方APK。名稱是 “條碼掃描器” ,該APK在 google play 和豌豆莢市場都能夠下載到。

過程:

1,開始掃描二維碼

IntentIntegrator integrator = new IntentIntegrator(MainActivity.this);//指定當前的activity

integrator.initiateScan(IntentIntegrator.QR_CODE_TYPES); //啟動掃描

2,注冊掃描完成后的處理(回調)

 public void onActivityResult(int requestCode, int resultCode, Intent intent) {

IntentResult result = IntentIntegrator.parseActivityResult(requestCode,
resultCode, intent);
if (result != null) {
String contents = result.getContents();
if (contents != null) {
showDialog(R.string.result_succeeded, result.toString());
} else {
showDialog(R.string.result_failed,
getString(R.string.result_failed_why));
}
}
}

3,完成。。。

那么我們需要上面提到的類 IntentIntegrator  ,從哪里來的? 我是從 google開源的項目zxing里代碼里找到的。並提取了一些代碼來使用。我會在本文的末尾提供代碼下載,可以從代碼里獲得這個類。

 

---------------------- 

擴展閱讀

 

恩。那么 IntentIntegrator  這個類里到底干了什么?

通過閱讀代碼,我們知道它做了兩件事:

1.查找目標APK 里 “是否有掃描二維碼的程序”。如果不存在,那么提示,並使得指示用戶 去市場下載。

2.如果存在,發送intent。發送了,那么會有 相應的Activity來處理它,在activty關閉后 封裝對應的返回參數。

 

 建議大家去讀讀zxing的代碼。

 http://code.google.com/p/zxing/

 

提供代碼下載 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM