本帖最后由 HelloXiaoyu 于 2011-11-07 11:25:28 编辑

解决方案 »

  1.   

    你给出的代码,不可能返回a吧,除非是在b调用startActivityForResult之前,把自己finish掉了
    这些代码我之前写过,没有任何问题
      

  2.   

    在b调用startActivityForResult之前,把自己finish掉了
      

  3.   

    A是一个列表,点击列表项目,启动B,在B界面我又一个图形现实框,和一个按钮(拍摄照片),点击拍摄照片启动本地摄像头进行拍照,拍摄完成,原本应该返回到B界面,但是现在确实返回到A。
      

  4.   

    把Activity(b)中的代码贴出来, 还有,看看Log,  会不会是被系统KILL了 
      

  5.   

    Activity(B)的主要代码:拍摄按钮的监听事件:
    btnCamera.setOnClickListener(new Button.OnClickListener()
    {

    public void onClick(View v)
    {
    Intent i = new Intent("android.media.action.IMAGE_CAPTURE");

    startActivityForResult(i, Activity.DEFAULT_KEYS_DIALER);  
    }
    });

    获取拍摄图片的事件:
    protected void onActivityResult(int requestCode, int resultCode,Intent data) 
    {
    switch(resultCode)
    {
     case RESULT_OK:
    super.onActivityResult(requestCode, resultCode, data); 
    if(data!=null){
        Bundle extras = data.getExtras();  
        Bitmap bmp = (Bitmap) extras.get("data");  
        ssbmp=bmp;
      
        ivCashierpic.setImageBitmap(bmp);  //设置拍摄图片在界面上显示
        hasShootPic = true;
    }
    else
    {
     hasShootPic = false;
    }
        break;
    default:
    break;
        }

    }这个事件在有的手机里面测试是有问题的,因为获取的data内容是null,这个暂时我也解决不了。如果大神有办法,帮忙一起解决下。谢谢诶
      

  6.   

    好像没什么问题, 不过super 请放在方法的第一行, 在B的onDestroy中打印一个Log看看是什么时候调用的,还有
    代码请用 [code.] [/code.]
      

  7.   

    一开始用了[code.] [/code.] 发现没用。所以就没用了。
    大神们,帮下忙吧。实在解决不了。郁闷。
      

  8.   


    [code=Java.]
    //代码放这里
    [/code.]//里面的点过掉就行了
    里面的点去掉
    现在没事,我可以看一下  [email protected]
      

  9.   

    你贴出的那些个代码我试了下,    data 并不为空,  不过我把Switch 去掉了,所以, 你看一下startActivityForResult中的第二个参数和 switch 中的参数是不是用得不对,  下班咯!
      

  10.   


    这个问题是有一部分手机出现的问题,比方HTC系列的。拍照之后会弹出一个确定按钮,这个确定按钮相当于返回,也就是说在这个通过intent打开的Activity 直接返回去了,这时onActivityResult事件获取到的data值为null。