何らかの理由で、1D バーコード スキャンを要求すると、メソッド onActivityResult が呼び出されません。これに対する回避策はありますか? そうでない場合、自分のアプリと統合できる別のバーコード アプリはありますか、それともゼロから作成する必要がありますか?
コード:
btnScan.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View arg0)
{
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("com.google.zxing.client.android.SCAN.SCAN_MODE", "PRODUCT_MODE");
try{
startActivityForResult(intent, 0);
}catch(ActivityNotFoundException ex){
showDownloadDialog();
}
}
});
戻りコード:
@Override public void onActivityResult(int requestCode, int resultCode, Intent intent){
if (requestCode == 0)
{
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Scan");
builder.setMessage(intent.getStringExtra("SCAN_RESULT"));
builder.create().show();
Log.d("SCAN", "sup");
}
Log.d("SCAN", "sup sup");
}
前もって感謝します。
編集: 実際には、QR コードでさえ onActivityResult を呼び出していません。TabActivity を使用しています。もしかして、これは何か関係があるのでしょうか?
編集 2: わかりました、ActivityB で startActivity を使用してみました。ActivityB は startActivityForResult(zxing) の呼び出しを担当し、次に onActivityResult でログを出力しました。働いた。ここで、TabActivity の何が問題なのかを知る必要があります。