原文:android.resource://这个Uri你知道吗
如何访问平时APK文件Res目录下的内容呢? 如果直接访问Apk下的assets目录可以使用AssetManager类处理,而需要访问res/raw这样的文件夹怎么办呢? 这里Android123可以告诉大家APK在安装时已经解压缩,部分资源存放在/data/data/package_name/这里, 比如我们想访问res/raw/android123.cwj文件,可以使用android.resource://package_name/" + R.raw.android123 这个Uri,其中package_name是你工程的包名。
完整的处理代码为 Uri uri = Uri.parse("android.resource://com.android123.Sample/raw/android123.cwj"); 即可使用工程res/raw目录下的文件了。
原文链接 :http://hi.baidu.com/zhoutianyang/blog/item/1a4d56df5979551f485403de.html
A Uri object can be used to reference a resource in an APK file. The Uri should be one of the following formats:
android.resource://package_name/id_number
package_name
is your package name as listed in your AndroidManifest.xml. For examplecom.example.myapp
id_number
is the int form of the ID.
The easiest way to construct this form isUri uri = Uri.parse("android.resource://com.example.myapp/" + R.raw.my_resource");
android.resource://package_name/type/name
package_name
is your package name as listed in your AndroidManifest.xml. For examplecom.example.myapp
type
is the string form of the resource type. For example,raw
ordrawable
.name
is the string form of the resource name. That is, whatever the file name was in your res directory, without the type extension. The easiest way to construct this form isUri uri = Uri.parse("android.resource://com.example.myapp/raw/my_resource");