由于 KitKat 已将 URI 从选择器更改为类似
content://com.android.providers.media.documents/document/image:3951
那么我的 ACTION_VIEW 意图都不再起作用了。
例如,当用户选择图像时,我使用
public static void openImage(Fragment f, Uri uri) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "image/*");
f.startActivity(intent);
}
Android 图库和 Google+ 照片出现,但选择后,图库仅显示空白屏幕,照片显示“未找到媒体”
声音也一样,我习惯用
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,我发现没有应用程序能够处理此意图。
// 对于照片,有趣的是,当您在新的 KK 选择器 UI 中选择图库而不是图片时,它会返回有效的旧 URI。
有任何想法吗?
系统应用程序是否还没有为新的 uri 做好准备?我是否应该以某种方式将新的 uri 破解为旧的 uri 以使意图发挥作用?或者我错过了什么?
Thanks!