ZXing 掃描QR條碼的程式庫
使用Intent呼叫ZXing來掃描QR碼
Intent intent = new Intent("com.google.zxing.client.android.SCAN"); intent.setPackage("com.google.zxing.client.android"); intent.putExtra("SCAN_MODE", "QR_CODE_MODE"); startActivityForResult(intent, 0);
接收掃描後結果
public void onActivityResult(int requestCode,int resultCode,Intent it) { if (requestCode == 0) { if (resultCode == RESULT_OK) { String contents = it.getStringExtra("SCAN_RESULT"); String format = it.getStringExtra("SCAN_RESULT_FORMAT"); // Handle successful scan } else if (resultCode == RESULT_CANCELED) { // Handle cancel } } }
偵測是否已安裝 ZXing
Intent intent = new Intent("com.google.zxing.client.android.SCAN"); if(getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY).size() == 0) { //未安裝,進行安裝 //見底下程式碼..... }
安裝ZXing Barcode Scanner
AlertDialog.Builder downDg = new AlertDialog.Builder(myApp); downDg.setTitle("安裝Barcode Scanner"); downDg.setMessage("程式需要ZXing Barcode Scanner,你要安裝嗎?"); downDg.setPositiveButton("OK",new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialogInterface, int i) { Uri uri = Uri.parse( "market://search?q=pname:com.google.zxing.client.android"); Intent intent = new Intent(Intent.ACTION_VIEW, uri); try { startActivity(intent); } catch (ActivityNotFoundException anfe) { // Hmm, market is not installed } } }); downDg.setNegativeButton("取消", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialogInterface, int i) {} }); downDg.show();
沒有留言:
張貼留言