我将我的一个应用程序转换为几个类似的应用程序并使用基础库项目。我想在依赖的应用程序中加载一个位于res/raw/welcome.m4a
的视频。
这是在使用库项目之前的工作方式:
vv.setVideoURI(Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.welcome));
这会在我的库项目中产生错误,因为res/raw/welcome.m4v
不存在,它只会在App Project res/
文件夹中,并且对于每个应用程序都会有所不同。
我目前的解决方法是在基础库项目中创建一个虚拟res/raw/welcome.m4v
,以便它停止抱怨。
所以我的问题是如何在图书馆计划中引用代码库项目中不存在的资源?
答案 0 :(得分:1)
如果只是偶尔发生,你可以试试这个:
vv.setVideoURI(Uri.parse("android.resource://"+getPackageName()+"/"+getResources().getIdentifier("welcome", "raw", getPackageName())));
不如使用id那样高效,但它应该有效。