1. ホーム
  2. android

Android, アプリケーションでQRコードを読み取るには?

2023-09-24 15:29:30

質問

私のアプリケーションでは、QRコードを読み取る必要があります。ネットで検索して、Zingコードを見つけましたが、多くの開発者がそれを使用することに問題があり、バグがあるようです。

顧客がデバイスにQRリーダーをインストールしていると仮定した場合、どのようにそれらのアプリケーションを使用し、暗黙のインテントを介してそれらを呼び出すことができますか?

ユーザーがQRリーダーを持っていない場合、アプリケーションはどうなりますか。クラッシュした場合、ユーザーに例えばQrDroidをダウンロードしてもらい、その後使用できますか。

どのように解決するのですか?

try {

    Intent intent = new Intent("com.google.zxing.client.android.SCAN");
    intent.putExtra("SCAN_MODE", "QR_CODE_MODE"); // "PRODUCT_MODE for bar codes

    startActivityForResult(intent, 0);

} catch (Exception e) {

    Uri marketUri = Uri.parse("market://details?id=com.google.zxing.client.android");
    Intent marketIntent = new Intent(Intent.ACTION_VIEW,marketUri);
    startActivity(marketIntent);

}

で、その中に onActivityResult():

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {           
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == 0) {

        if (resultCode == RESULT_OK) {
            String contents = data.getStringExtra("SCAN_RESULT");
        }
        if(resultCode == RESULT_CANCELED){
            //handle cancel
        }
    }
}