在我的应用中,我显示了帖子列表,其中的帖子可能具有图像。当用户单击帖子图像时,创建选择器将显示可用选项,例如“照片”,“图库”。我的问题是,为什么无法在Android 7.0或API 24及更高版本上打开图片?我收到错误消息“无法打开文件。”在API级别23及以下级别,我提供了实际的文件路径,似乎工作正常。在发布此问题之前,我确认了以下事情。有趣的是,“照片”可以打开它。
我使用FileProvider获得了正确的内容uri。我的uri看起来像这样:
内容://package.fileprovider/attachment/文件名
我正在使用正确的mime类型。
我正在使用正确的意图和权限标志。请参见以下代码:
意图myIntent =新意图(Intent.ACTION_VIEW); myIntent.putExtra(ShareCompat.EXTRA_CALLING_PACKAGE,getActivity()。getPackageName()); myIntent.putExtra(ShareCompat.EXTRA_CALLING_ACTIVITY,getActivity()。getComponentName());
myIntent.setDataAndType(uri,mimeType); myIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); startActivity(Intent.createChooser(myIntent,“打开文件:”));
最佳答案
仅适用于以上的Android API 24-牛轧糖设备
File file = new File(String.valueOf(path), imageName+".png"); //it is image file name.
if(Build.VERSION.SDK_INT>=24){
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); //must provide
Uri photoUri = FileProvider.getUriForFile(YourCurrentActivity.this,
android.support.v4.BuildConfig.APPLICATION_ID +
".fileprovider", finalFile);
intent.setData(photoUri);
YourCurrentActivity.this.startActivity(intent);
}
关于android - 图库无法在Android 7.0上打开内容uri图像文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42585451/