2018年6月25日 星期一
ZXing 條碼掃描器
安裝ZX條碼器
public void Menu_QRCODE_Click(View v) {
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
if (getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY).size() == 0) {
// 未安裝
Toast.makeText(this, "請至 Play 商店安裝 ZXing 條碼掃描器", Toast.LENGTH_LONG).show();
intent = new Intent(Intent.ACTION_VIEW,
Uri.parse("http://play.google.com/store/apps/details?id=com.google.zxing.client.android"));
startActivity(intent);
} else {
//已安裝
// SCAN_MODE, 可判別所有支援的條碼
// QR_CODE_MODE, 只判別 QRCode
// PRODUCT_MODE, UPC and EAN 碼
// ONE_D_MODE, 1 維條碼
intent.putExtra("SCAN_MODE", "SCAN_MODE");
// 呼叫ZXing Scanner,完成動作後回傳 1 給 onActivityResult 的 requestCode 參數
startActivityForResult(intent, 1);
}
}
// 接收 ZXing 掃描 QRCODE 後回傳來的結果
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 1) {
if (resultCode == RESULT_OK) {
Log.d("MenuActivity","ZXing 掃描 QRCODE 後回傳來的結果 進入OK");
// ZXing回傳的內容
final String contents = intent.getStringExtra("SCAN_RESULT");
e_QRCODE.setText(contents);
} else if (resultCode == RESULT_CANCELED) {
Toast.makeText(this, "取消掃描", Toast.LENGTH_LONG).show();
}
}
}
訂閱:
張貼留言 (Atom)
-
在windows中的文件分隔符是 \ 和 /都可以 但是在Linux中,文件分隔符只能是/ 所以用了\\的程序在Linux下会出问题。 而File.separator是系统默认的文件分割符号,屏蔽了这些系统的区别。 用File.separator保证了在任何系统下不会出错...
-
發送簡訊使用android.permission.READ_PHONE_STATE权限出现SecurityException异常 READ_PHONE_STATE的权限问题,尽管在manifest中添加了该权限,仍然会报权限不足 READ_PHONE_STATE 这个...
沒有留言:
張貼留言