我有一个以“免费”和“专业”版本发布的 Android 应用程序。我已经使用从两个版本引用的基础“库”项目设置了我的项目,这样我的包集如下所示:
- com.example.myapp
- com.example.myapp.free
- com.example.myapp.pro
我的基础“库”项目中的 Activity 类之一将帮助文件加载到 WebView 中:WebView.loadUrl(“file:///android_asset/help.html”)。这个类在“免费”和“专业”版本中都得到了扩展(出于本问题范围之外的原因),但我希望这两个版本都引用相同的 HTML 文件(即父包中的文件)。然而,在我当前的设置下,需要将 HTML 文件复制到“file://”的“com.example.myapp.free”和“com.example.myapp.pro”包下的“assets”文件夹中。 /android_asset/" 工作的 URI。
有没有办法指定“file:///android_asset/”URI,以便它访问父包中的“assets”目录?
我发现的部分解决方案涉及从“原始”目录读取 HTML 文件,然后将生成的字符串推送到我的 WebView 对象,但是对于纯文本 HTML 页面(例如带有图像的页面,就像我的一样)。
Cheers.
由于安德鲁怀特没有解释如何做他建议反对的事情,我将向您展示:
Context otherContext = context.createPackageContext("other.package.name", 0);
AssetManager am = otherContext.getAssets();
这看起来并没有那么糟糕。我已经验证这两个包不需要共享用户 ID。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)