坚持使用的标签活动时,得到相机PIC [英] stuck with getting camera pic when using the tab Activity

查看:88
本文介绍了坚持使用的标签活动时,得到相机PIC的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 意图cameraIntent =新的意图(android.provider.MediaStore.ACTION_IM​​AGE_CAPTURE);
            startActivityForResult(cameraIntent,CAMERA_PIC_REQUEST);


            意图takePictureIntent =新的意图(的getParent(),TakePicture.class);
            takePictureIntent.putExtra(形象,缩略图);
            OpenBeeActivityGroup opentActivity =(OpenBeeActivityGroup)的getParent();
            opentActivity.startChildActivity(TakePicture活动,takePictureIntent);
 

解决方案

至于我的理解从你的问题是, 而使用的ActivityGroup 这种事情发生。既然你已经开始活动的结果的孩子放在活动(即 TakePicture.class ),而Android将只允许孩子单独嵌套层活动(IES)(指孩子活动不能嵌套一个孩子活动)。 而且你可能处理的结果,你的孩子活动(即 TakePicture.class )。

所以解决方案您的问题是处理结果,你的父母活动(<$ C C $> OpenBeeActivityGroup )的 onActivityResult()然后发送结果到主动活动。 你会使用这样的事情。 在你的孩子的活动启动 startActivityForResult()从父活动等。

 的getParent()startActivityForResult(cameraIntent,Global.CAMERA_PIC_REQUEST)。
 

和在你的 onActivityResult() 的ActivityGroup 的(<$ C C $> OpenBeeActivityGroup ):

 保护无效onActivityResult(INT申请code,INT结果code,意图数据)
{
    如果(结果code == Activity.RESULT_OK)
    {
        开关(要求code)
        {
        案例Global.CAMERA_PIC_REQUEST://全局变量来表示相机的结果
        活动活性= getLocalActivityManager()getCurrentActivity()。
        activity.onActivityResult(要求code,因此code,数据);
        打破;
        }

    }
}
 

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(cameraIntent,CAMERA_PIC_REQUEST); 


            Intent takePictureIntent = new Intent(getParent(),TakePicture.class);
            takePictureIntent.putExtra("image",thumbnail);
            OpenBeeActivityGroup opentActivity = (OpenBeeActivityGroup)getParent();         
            opentActivity.startChildActivity("TakePicture Activity",takePictureIntent);     

解决方案

As for I understand from your Question is, This happen while using ActivityGroup. Since you are starting Activity for result inside a child Activity (i.e TakePicture.class), and Android will only allow single nested layer of child Activity(ies) (means child Activity cannot nest another child Activity). And you are probably handling the result in your child Activity(i.e TakePicture.class).

So the solution to your problem is to handle that result inside your parent Activity (OpenBeeActivityGroup)'s onActivityResult() and then send your result to the active Activity. you will use something like this. inside your child Activity start your startActivityForResult() from parent Activity like.

getParent().startActivityForResult(cameraIntent,Global.CAMERA_PIC_REQUEST);

and inside your onActivityResult() of ActivityGroup (OpenBeeActivityGroup):

protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{
    if (resultCode == Activity.RESULT_OK) 
    {
        switch(requestCode)
        {
        case Global.CAMERA_PIC_REQUEST: // global variable to indicate camera result
        Activity activity = getLocalActivityManager().getCurrentActivity();
        activity.onActivityResult(requestCode, resultCode, data);
        break;
        }

    }
}

这篇关于坚持使用的标签活动时,得到相机PIC的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆