使用相机时处理取消按钮

时间:2013-12-04 14:40:02

标签: android android-camera

当按下相机上的取消按钮时,它返回到当前活动,但我希望它返回到前一个屏幕(这是一个片段)。 Camera

This is the button in question

当我按下硬键hard key时,它会根据需要返回。这是使用finish();

完成的

编辑:以下代码现在正在运行:)

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(data !=null && getInfo !=null){
        if(requestCode==0){
            if(resultCode == RESULT_OK && data.getAction() != null){
            Bitmap theImage = (Bitmap)data.getExtras().get("data");
               if(theImage !=null && getInfo !=null && data!=null){
                   iv.setImageBitmap(theImage);
                   }
             }else{
                         finish();
             }
        }
        else if (requestCode == 1) {


            Uri selectedImage = data.getData();
            String[] filePathColumn = { MediaStore.Images.Media.DATA };

            Cursor cursor =getContentResolver().query(selectedImage,
                    filePathColumn, null, null, null);
            cursor.moveToFirst();

            int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
            String picturePath = cursor.getString(columnIndex);
            cursor.close();


           if(picturePath !=null && getInfo !=null && data!=null){
              iv.setImageBitmap(BitmapFactory.decodeFile(picturePath));
           }//end if pic


    }else{
           finish();//returns as desired but does not work for the 'X' in the camera only hard key
    }
}

1 个答案:

答案 0 :(得分:1)

首先尝试对resultCode / requestCode进行测试,如下所示:

if (requestCode == 0) {
    if (resultCode == RESULT_OK && data !=null ) {
        ... now let's see use the picture at data

请记住,resultCode是实际的活动结果,您应该使用RESULT_OK。

另请注意,requestCode仅在您有多个startActivityForResult来电并且每个来电用于不同目的时才有意义。

希望它有所帮助。