如何调用TabActivity调用onActivityResult? (编辑标题)

时间:2012-05-15 18:26:04

标签: android android-activity

出于某种原因,当我要求进行一维条形码扫描时,不会调用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有什么问题。

1 个答案:

答案 0 :(得分:0)

好的,我设法调用了onActivityResult。关于儿童活动,我使用了:

getParent().startActivityForResult(intent, positive_request_code);

然后,在父活动(TabActivity)中,我将onActivityResult放在那里。