我有一个问题,当我用startActivityForResult拍照时,如果有两个或多个可以处理该意图的相机应用程序出现,则resultCode始终是Activity.RESULT_CANCELED(0)。但是,如果我将其中一个设置为默认应用程序,而下次它不提供选择器,则一切正常,它会拍照并在启动startActivityForResult()的片段的onActivityResult中检测到它。
当我尝试打开图库以选择图片时,也会发生同样的事情。如果有两个图库应用程序,则选择其中一个,图片选择结果始终为0。
这是我用来启动相机应用程序的代码:

Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
 if (takePictureIntent.resolveActivity(getActivity().getPackageManager()) != null) {
      startActivityForResult(takePictureIntent, AppConstants.TAKE_PICURE_CAMERA_REQUEST_CODE);
  }

最佳答案

当我的活动包含launchMode="singleTask"时,我遇到了同样的问题,但是我更改为singleTop并解决了问题

08-04 16:26