从小米图库应用程序分享图片有问题

问题描述 投票:0回答:2

我想将 MIUI 图库应用程序中的图像分享到我的应用程序,但收到的意图是

data=null
uri=content://com.miui.gallery.open/raw/%2Fstorage%2Femulated%2F0%2FAndroid%2Fdata%2Fcom.miui.gallery%2Fcache%2FSecurityShare%2F1657350098978.jpg

然后我使用

Cursor
来获取文件路径,路径是:
/storage/emulated/0/Android/data/com.miui.gallery/cache/SecurityShare/1657350098978.jpg

如您所见,它从其数据文件夹共享,因此我的应用程序无法访问该文件。这种情况仅发生在图像上,并且仅在 Xiomi MIUI 图库应用程序中发生。

这是我的清单:

        <activity
            android:name=".activity.ReceiveShareActivity"
            android:configChanges="uiMode"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.SEND" />

                <category android:name="android.intent.category.DEFAULT" />

                <data android:mimeType="*/*" />
            </intent-filter>
</activity>

这是我的代码:

Uri uri = intent.getParcelableExtra(Intent.EXTRA_STREAM);

final String[] columns = {MediaStore.Files.FileColumns.DATA,
                    MediaStore.Files.FileColumns.DISPLAY_NAME,
                    MediaStore.Files.FileColumns.SIZE,
                    MediaStore.Files.FileColumns._ID};
            final String orderBy = MediaStore.Files.FileColumns._ID;

            Cursor cursor = getContentResolver().query(uri, columns, MediaStore.Files.FileColumns.SIZE + ">0", null, orderBy);
android image uri xiaomi miui
2个回答
0
投票

感谢@blackapps,我尝试使用

Inputstream
和 URI,效果很好。


0
投票

文件名:/storage/emulated/0/Android/data/ com.miui.gallery/files/gallery_disk_cache/small_size/

4cf9376dcba15cc89781aad25ee115e9529961b156a0c

66c05be148043aa9942.0

文件大小:11141字节

尺寸:180-320

© www.soinside.com 2019 - 2024. All rights reserved.