假设我将图像打包到我的应用中,并且希望使用默认的图像查看器/无论用户选择哪种图像查看器将其打开为默认图像。我该怎么办?
已经有此帖子: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);
但是,根据此解决方案的作者所述,此代码仅适用于外部存储的图像,不适用于可能与我的应用打包在一起的图像。
答案 0 :(得分:0)
您将无法通过外部应用程序打开与应用程序打包在一起的图像(可绘制或其他资源)。您应该首先将其复制到(至少)internal file storage中。之后,您可以实现FileProvider来提供对此文件的访问。
如果您需要更多详细信息,请告诉我。希望能有所帮助。