当按下相机上的取消按钮时,它返回到当前活动,但我希望它返回到前一个屏幕(这是一个片段)。
当我按下硬键时,它会根据需要返回。这是使用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
}
}
答案 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
来电并且每个来电用于不同目的时才有意义。
希望它有所帮助。