Android资源转化为Uri形式访问

一般情况下我们可以直接使用AssetManager类访问Apk下的assets目录,而对于res目录下的资源,基本上都是通过其id在代码中使用。那么是否可以直接访问Apk压缩包中Res目录下的内容呢?Android支持将res/raw的资源转化为Uri形式访问(android.resource://)

例如访问res/raw/sample.png文件,可以通过Uri形式访问

Uri uri = Uri.parse("android.resource://package_name/" + R.raw.sample)
Uri uri = Uri.parse("android.resource://package_name/raw/sample"); 

SD卡资源

load("file://" + Environment.getExternalStorageDirectory().getPath() + "/test.jpg")

assets资源

load("file:///android_asset/test/joe.gif")

raw资源

load("android.resource://package_name/raw/raw_1")
load("android.resource://package_name/raw/" + R.raw.raw_1)

drawable资源

load("android.resource://package_name/drawable/news")
load("android.resource://package_name/drawable/" + R.drawable.news)

ContentProvider资源

load("content://media/external/images/media/139469")

版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/11/convert-android-resources-to-uri-format-access/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
Android资源转化为Uri形式访问
一般情况下我们可以直接使用AssetManager类访问Apk下的assets目录,而对于res目录下的资源,基本上都是通过其id在代码中使用。那么是否可以直接访问Apk压缩包……
<<上一篇
下一篇>>
文章目录
关闭
目 录