通过i.putExtra从意图发送数据到意图

时间:2013-06-29 17:33:17

标签: android camera

我希望将相机结果放入通过tabhost启动的活动中。

Code StartActivity:

intent = new Intent().setClass(this, ListActivity.class);
spec = tabHost.newTabSpec("list").setIndicator(getString(R.string.tab_label_list),
                      res.getDrawable(R.drawable.list_tab))
                  .setContent(intent);
    tabHost.addTab(spec);

ListActivity(扩展BaseActivity):

takeScreenshotButton.setText(getString(R.string.upload_screenshot_button_label));
    takeScreenshotButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            i.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File("/sdcard/tmp")));
            i.putExtra("CAMERA_PIC_REQUEST", CAMERA_PIC_REQUEST);
            i.putExtra("test", 2);
            OpenMatchActivity.this.getParent().getIntent().putExtra("test", 1);
            OpenMatchActivity.this.getParent().startActivityForResult(i, CAMERA_PIC_REQUEST);
        }
    });

我试图通过putExtra发送额外的信息。

但在ListActivity中,不包含额外信息:

 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        Bundle extras = data.getExtras();
        String cam = extras.getString("CAMERA_PIC_REQUEST");
        String test = extras.getString("test");
       ...
    }

如何在tabhost活动中获取标签主机活动的值?

1 个答案:

答案 0 :(得分:1)

http://androidactivity.wordpress.com/2012/08/17/two-way-communication-between-tabactivity-and-its-child-tabs/

这是我搜索的内容

 getLocalActivityManager().getActivity("tab");

然后你可以得到所有的财产。