出于某种原因,当我要求进行一维条形码扫描时,不会调用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有什么问题。
答案 0 :(得分:0)
好的,我设法调用了onActivityResult。关于儿童活动,我使用了:
getParent().startActivityForResult(intent, positive_request_code);
然后,在父活动(TabActivity)中,我将onActivityResult放在那里。