Kotlin应用在Google分享图片时未显示的问题求助
解决应用未出现在图片分享选项中的问题
核心问题与修复步骤:
Queries配置不匹配
API 30及以上版本,系统要求应用通过<queries>声明自身能处理的Intent,否则系统不会将你的应用列入分享候选列表。你的当前配置仅声明了支持text/plain类型的SENDIntent,需要补充图片类型的声明。冗余权限导致的混淆
接收分享的图片无需READ_EXTERNAL_STORAGE权限——分享传递的是Content Uri,通过ContentResolver即可访问对应资源,无需申请外部存储读写权限。API 33+该权限已被废弃,这也是权限显示禁用的原因,直接移除即可。
修改后的Manifest文件:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <application android:allowBackup="true" android:dataExtractionRules="@xml/data_extraction_rules" android:fullBackupContent="@xml/backup_rules" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.Fundamentals" tools:targetApi="31"> <activity android:name=".MainActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="image/*" /> </intent-filter> <!-- 可选:添加SEND_MULTIPLE支持多张图片分享 --> <intent-filter> <action android:name="android.intent.action.SEND_MULTIPLE" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="image/*" /> </intent-filter> </activity> <activity android:name=".SecondActivity" android:exported="false"> </activity> </application> <queries> <intent> <action android:name="android.intent.action.SEND" /> <data android:mimeType="image/*" /> </intent> <!-- 可选:添加SEND_MULTIPLE的queries声明 --> <intent> <action android:name="android.intent.action.SEND_MULTIPLE" /> <data android:mimeType="image/*" /> </intent> </queries> </manifest>
后续测试:
修改完成后,彻底卸载原有应用并重新安装,然后打开相册或Google照片尝试分享图片,你的应用应该会出现在分享选项列表中。
内容的提问来源于stack exchange,提问作者Matheus Strilicherk
相关产品推荐
相关产品推荐

