启动带返回结果的Activity 不返回到调用Activity

4

我有一个片段,调用从图库选择图像的意图,如下所示:

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

我成功执行了上述方法,它可以启动手机相册并从中选择图像,但是应用程序应该返回到调用的片段,但它没有,即使我可以在LogCat中看到onActivityonResult的调用。

我还有一个从地图获取位置的函数,它会返回到调用的片段,但是当选择图像时,我没有回到调用的活动,而是首先显示父活动的第一个片段。

这是我的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
调用活动在尝试加载该位图时可能会崩溃。您应该发布一个带有任何错误消息的日志记录,并描述发生了什么,因为我不确定我从迄今为止发布的内容中是否理解。 - x-code
日志中没有错误,我只能看到活动结果正在调用,但我的地图活动返回到同一片段,而且我在LogCat中看到了活动结果日志中的图像。 - androidXP
不要过滤logcat,也许你会看到相关的异常或崩溃。 - David Wasser
@DavidWasser 我总是将我的 logcat 设置为 verbose - androidXP
我不是指那个。我是说不要按你的应用程序包名称进行过滤。大多数 IDE 会自动使用应用程序的包名称设置 logcat 过滤器。如果您使用此类型的过滤器,您将错过由 Android 框架生成的任何异常或消息,而通常这些恰好是您需要指引您解决问题的消息。 - David Wasser
@DavidWasser,我仍然没有看到任何错误,可能会导致调用片段以启动其附加片段的父活动。 - androidXP
1个回答

1
有时在AndroidManifest.xml中打开noHistory=false可能会起作用。我认为这几乎是一件被遗忘的事情。
如何实现?
打开AndroidManifest.xml文件,找到包含onActivityResult()方法的文件的标签,并输入android:noHistory="false"。
像这样!
<activity
        android:name="MyActivityClassName"
        android:screenOrientation="portrait"
        android:noHistory="false"
        />

希望它能帮助到某些人。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接