gpt4 book ai didi

android - 新的 KitKat URI 不响应 Intent.ACTION_VIEW

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:46:56 38 4
gpt4 key购买 nike

由于 KitKat 已将 URI 从选择器更改为喜欢

 content://com.android.providers.media.documents/document/image:3951

那么我的 ACTION_VIEW Intent 都不再起作用了。例如,当用户选择图像时,我使用

public static void openImage(Fragment f, Uri uri) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "image/*");

f.startActivity(intent);
}

Android Gallery 和 Google+ Photos 出现了,但是选择后,Gallery 只显示空白屏幕,Photos 显示“找不到媒体”

声音也是一样,我习惯用

public static void playSound(Fragment f, Uri uri) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "audio/*");

f.startActivity(intent);
}

在以前的版本中用于显示 Google Play 音乐,带有小白播放对话框 UI。使用新的 URI,我发现没有应用能够处理此 Intent 。

//对于照片,有趣的是,当您在新的 KK 选择器 UI 中选择图库而不是图片时,它会返回有效的旧 URI。

有什么想法吗?系统应用程序是否还没有为新的 uris 做好准备?我是否应该以某种方式将新的 uri 破解为旧的以使 intent 起作用?还是我遗漏了什么?

谢谢!

最佳答案

解决方案是将标志 FLAG_GRANT_READ_URI_PERMISSION 传递给 Intent (在 KitKat 及更高版本上):

intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

还要确保此内容 Uri 是从 ACTION_OPEN_DOCUMENT Intent 中检索到的,如下所述:https://stackoverflow.com/a/19874645/334209

关于android - 新的 KitKat URI 不响应 Intent.ACTION_VIEW,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21885934/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com