You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android选择器从Google Photos选超73张图返回RESULT_CANCELLED如何解决?

问题:Google Photos通过ACTION_GET_CONTENT选择74张及以上图片返回RESULT_CANCELLED

现象说明

  • 开发的Android应用提供图片选择功能,通过兼容ACTION_GET_CONTENT的内容选择器选取图片
  • 从Google Photos选择73张及以下图片时,可正常返回并完成图片下载处理,支持单个Uri或多个ClipData
  • 从Google Photos选择74张及以上图片时,会直接返回应用(未触发图片下载),Activity结果码为Activity.RESULT_CANCELLED,返回数据为ActivityResult{resultCode=RESULT_CANCELED, data=null}
  • 从本地存储选择任意数量图片均能正常返回处理
  • 应用支持接收分享Intent,通过该方式可接收Google Photos发起分享的最多200张图片(Google Photos单次分享上限为200张)

相关代码

打开图片选择器的实现

...
someActivityResultLauncher = registerForActivityResult(
            new ActivityResultContracts.StartActivityForResult(),
            new ChooserActivityResult(this,
                    this.getBaseContext()));
...    
/**
 * Open image chooser.
 */
public void openImageChooser() {
    Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
    intent.setType("image/*");
    intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
    someActivityResultLauncher.launch(Intent.createChooser(intent, getString(R.string.intent_chooser_select_images)));
}

Activity结果处理代码(ChooserActivityResult)

@Override
public void onActivityResult(ActivityResult result) {

    HashSet<Uri> sources = new HashSet<>();
    if (result.getResultCode() == Activity.RESULT_OK) {
        //do stuff with the Uri(s)
    }
}

排查情况

  • 应用未抛出任何异常,识别到Activity.RESULT_CANCELLED后按预期不执行后续操作
  • 查看Logcat,未发现与Google Photos相关的明显报错或提示日志
  • 测试设备:Google Pixel 6a(已覆盖debug和release版本)

后续更新

  • 2022-10-24:制作了可复现问题的简易测试应用
  • 2022-10-25:已向Google提交Bug报告

需求

推测Google Photos对ACTION_GET_CONTENT返回的图片数量存在隐性限制,希望获取相关解决思路。


内容的提问来源于stack exchange,提问作者cedarrapidsboy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 03:35:19