gpt4 book ai didi

android - 如何在给定 `R.drawable.foo` 引用的情况下在图库应用程序中加载图像?

转载 作者:行者123 更新时间:2023-11-30 04:33:54 34 4
gpt4 key购买 nike

如果我手头有这个:

R.drawable.foo

这实际上只是对 jpg 文件的引用,我如何在 Android 的图库应用程序中打开它?

我找到了一堆引用资料,这些引用资料暗示了一些类似的东西:

startActivity(
new Intent(
Intent.ACTION_VIEW,
/* what goes here for the URI?? */
)
);

但是我使用什么 URI?

我在做this tutorial并希望在点击时在 native Android 应用程序中打开图像,这样我就可以免费进行所有缩放、共享等操作。

如果我不能在这里使用 URI(如建议的 here ),我应该如何加载图像?

最佳答案

按照设计,其他应用程序无法访问您的资源。反之亦然。

所以你有两个选择。

简单方法:

复制你的资源(手动)到sdcard然后发送uri

这就是你的 URI 的样子

Uri.parse(Environment.getExternalStorageDirectory() + "/android/com.my.app/.cache/foo.jpg");

Environment.getExternalStorageDirectory() 抽象硬编码或挂载.cache 将是一个隐藏文件夹,如果您不希望您的临时图像显示在画廊图像中,那么您需要创建一个 .nomedia .cache 文件夹中的空文件

你可能需要添加sdcard权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

硬道:

您需要实现 FileContentProvider使用 ContentProvider

为您提供自定义 URI 并从您的 FileContentProvider.Open 提供您的文件,您可能还需要为此实现 mime 和其他方法

更新您可能还需要在 list 中注册您的内容提供者。 Android - open pdf in external application

关于android - 如何在给定 `R.drawable.foo` 引用的情况下在图库应用程序中加载图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7225634/

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