为结果启动活动不返回到调用活动

时间:2016-09-11 19:56:16

标签: android android-fragments android-intent onactivityresult startactivityforresult

我有一个片段,可以像这样从画廊Intent调用Select Image

  Intent intent=new Intent();
  intent.setType("image/*");
  intent.setAction(Intent.ACTION_GET_CONTENT);
  startActivityForResult(Intent.createChooser(intent,"Complete Action Using"),1);

我成功执行上面的方法,启动电话库,我可以从那里选择图像,但应该返回调用片段,但它不是,即使我可以看到 onActivityonResult在LogCat中调用

我还有一个从地图获取的位置返回到调用片段但是在选择图像时我没有回到调用活动而是显示父活动第一个片段

这是我的 onActivityResult

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode==1 && resultCode==getActivity().RESULT_OK){

        Log.d(TAG,"Request Code is 1 Running: "+requestCode+" "+resultCode);
        Uri imageNameURL=data.getData();
        Log.d(TAG,imageNameURL.toString());
        ImagePath=getPath(imageNameURL);
        Log.d(TAG,"onActivityResult "+ImagePath);
        bitmap= BitmapFactory.decodeFile(ImagePath);

    }
    else if (requestCode==2 && resultCode==getActivity().RESULT_OK){

        Log.d(TAG,"Request Code 2 Running");
        LatLngBounds LL= PlacePicker.getLatLngBounds(data);
        double lat=LL.northeast.latitude;
        double longi=LL.northeast.longitude;
        double lat2=LL.southwest.latitude;
        double longi2=LL.southwest.longitude;            
        }

    }

1 个答案:

答案 0 :(得分:1)

有时在AndroidManifest.xml中打开noHistory = false可以正常工作。我认为这几乎是一件被遗忘的事情。

如何?

打开AndroidManifest.xml文件,找到包含onActivityResult()方法的文件的标签,然后输入android:noHistory =“false”

就像这样!

<activity
        android:name="MyActivityClassName"
        android:screenOrientation="portrait"
        android:noHistory="false"
        />

希望对某人有所帮助。