Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android使用选项卡中嵌套活动的startActivityForResult。_Android_Tabs_Camera_Android Intent - Fatal编程技术网

Android使用选项卡中嵌套活动的startActivityForResult。

Android使用选项卡中嵌套活动的startActivityForResult。,android,tabs,camera,android-intent,Android,Tabs,Camera,Android Intent,我正在编写一个应用程序,它由在tabhost中创建的几个选项卡组成,具有: intent = new Intent().setClass(this, Home.class); spec = tabHost.newTabSpec("Home").setIndicator("Home", res.getDrawable(R.drawable.home)) .setContent(intent); tabH

我正在编写一个应用程序,它由在tabhost中创建的几个选项卡组成,具有:

intent = new Intent().setClass(this, Home.class);
    spec = tabHost.newTabSpec("Home").setIndicator("Home",
                      res.getDrawable(R.drawable.home))
                  .setContent(intent);
    tabHost.addTab(spec);
在相关选项卡中,我使用ActivityGroup更改为选项卡中的不同活动:

Intent intent = new Intent(Info1.this, Enroll2.class);
            intent.putExtra("info", Info);

            View newView = Group.group.getLocalActivityManager().startActivity("Info1", intent
                    .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))  
                    .getDecorView();  
            Group.group.replaceView(newView);
从其中一项活动中,我需要拍照,我正在尝试使用设备上的默认照相机应用程序,使用:

//define the file-name to save photo taken by Camera activity
    String fileName = "picture" + Integer.toString(pictureCount);

    //create parameters for Intent with filename
    ContentValues values = new ContentValues();
    values.put(MediaStore.Images.Media.TITLE, fileName);
    values.put(MediaStore.Images.Media.DESCRIPTION,"Image capture by camera");

    //imageUri is the current activity attribute, define and save it for later usage (also in onSaveInstanceState)
    imageUri = getContentResolver().insert(
    MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);

    //create new Intent
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
    intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);

    startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
这将正确启动摄像头应用程序,但拍照后不会进入onActivityResult方法。我尝试将此方法放置在选项卡链中的每个类中,但它不会在任何类中输入代码

我注意到这个问题以前在上被问过,但唯一可能有用的答案是重定向到,这是一个关于从基本活动使用startActivityForResult启动tabActivity而不是从tabActivity启动活动的问题,因此没有用

我还经常看到有人说,当你使用ActivityGroup时,这不起作用,但没有人建议如何去做


任何帮助都将不胜感激。

好的,我找到了这个问题的解决方案

首先,我创建了另一个活动,我开始使用我称为结果控制器的基本startActivity()调用。这不会将任何数据传递回选项卡式活动,这意味着您不必担心它要去哪里

其次,我创建了一个简单的静态数据类,称为DataConnector。ResultController将获取DataConnector的实例并将数据插入其中


然后,在最初的活动(在选项卡中)中,我实现了onWindowFocusChanged方法来确定用户何时返回。我得到了DataConnector的实例,并且能够从中提取所需的数据。

请粘贴代码好吗?它肯定会帮助其他正在寻找类似解决方案的人!谢谢