You need to enable JavaScript to run this app. 如何配置Android应用支持接收图库多图及各类外部文件共享
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Android应用支持接收图库多图及各类外部文件共享

现有配置无法满足多图共享需求,存在以下问题
  • 仅配置了ACTION_SEND Action,该Action仅用于接收单条共享内容,Android系统多选图片共享时触发的是ACTION_SEND_MULTIPLE Action,未配置该Action的情况下你的应用不会出现在多图共享的候选列表中
  • 启动页配置和共享接收配置混在同一个intent-filter中,容易出现匹配逻辑混乱,建议拆分
  • 重复声明了两次ACTION_SEND,属于冗余配置
  • mimeType配置为*/*会让你的应用出现在所有类型内容的共享列表中,若仅需接收图片,限制为image/*更合理
调整后的配置示例
<activity
    android:icon="@mipmap/ic_launcher"
    android:name=".MainActivity">
    <!-- 启动页专属intent-filter -->
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <!-- 共享接收专属intent-filter -->
    <intent-filter>
        <action android:name="android.intent.action.SEND" />
        <action android:name="android.intent.action.SEND_MULTIPLE" />
        <category android:name="android.intent.category.DEFAULT" />
        <!-- 仅接收图片,如有其他文件接收需求可自行调整mimeType -->
        <data android:mimeType="image/*" />
    </intent-filter>
</activity>
后续代码处理注意事项

配置完成后需要在MainActivity中处理传入的Intent,拿到图片Uri后即可传递给RecyclerView等组件使用:

  • 单图共享场景:Action为ACTION_SEND,调用intent.getParcelableExtra(Intent.EXTRA_STREAM)获取单张图片Uri
  • 多图共享场景:Action为ACTION_SEND_MULTIPLE,调用intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM)获取图片Uri列表
  • 拿到Uri后需要申请持久化权限,避免后续权限失效无法访问图片,示例代码如下:
// Kotlin示例
if (intent.action == Intent.ACTION_SEND_MULTIPLE) {
    val imageUris = intent.getParcelableArrayListExtra<Uri>(Intent.EXTRA_STREAM)
    imageUris?.forEach { uri ->
        contentResolver.takePersistableUriPermission(uri, Intent.FLAG_GRANT_READ_URI_PERMISSION)
    }
    // 此处将imageUris传递给你的列表适配器即可
}
// Java示例
if (Intent.ACTION_SEND_MULTIPLE.equals(intent.getAction())) {
    ArrayList<Uri> imageUris = intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);
    if (imageUris != null) {
        for (Uri uri : imageUris) {
            getContentResolver().takePersistableUriPermission(uri, Intent.FLAG_GRANT_READ_URI_PERMISSION);
        }
        // 此处将imageUris传递给你的列表适配器即可
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 16:09:03