【发布时间】:2018-07-03 22:16:35
【问题描述】:
假设我用我的应用打包了一张图片,我想用默认的图片查看器/用户选择作为默认的任何图片查看器打开它。我该怎么做?
已经有这个帖子了:Open an image using URI in Android's default gallery image viewer 但是很多答案已经过时了,因为由于引入了android N,必须使用内容提供者。
我能找到的唯一答案是这个:
File file = ...;
final Intent intent = new Intent(Intent.ACTION_VIEW)//
.setDataAndType(VERSION.SDK_INT >= VERSION_CODES.N ?
android.support.v4.content.FileProvider.getUriForFile(this,getPackageName() + ".provider", file) : Uri.fromFile(file),
"image/*").addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
但是,根据此解决方案的作者,此代码仅适用于外部存储的图像,不适用于可能与我的应用程序打包的图像。
【问题讨论】:
标签: android android-intent kotlin android-contentprovider android-image