我在市场上的许多应用程序中都看到过这种功能,例如ADWLauncher。您安装了一个应用程序,然后您可以下载仅用于主题第一个应用程序的应用程序。我真的很喜欢在我制作的应用程序中这样做,但我不知道该怎么做。
最简单的解决方案是简单地将所有可能的主题包含到主应用程序中,然后根据其他应用程序的安装“解锁”它们。这是一个非首选的解决方案,因为添加更多主题将使应用程序更大,从而导致浪费空间。这也阻止了第三方提出自己的主题。
另一个解决方案是主题应用程序中的资源和类由vanilla app加载,但我不知道如何实现。
还有另一种方法可以实现吗?建议的机制是什么?任何意见都将不胜感激。
以前曾提出类似的问题,但没有回应:
答案 0 :(得分:0)
我也很好奇。我现在最好的猜测是确保你的所有UI控件都是可绘制的,而不仅仅是股票旋转器/滑块/等。在UI中使用drawable来显示图形,当你发布apk时,这些资源不仅应该是其他人可见但可变。再说一次,我不是百分百肯定,所以不要引用我那个哈哈。
答案 1 :(得分:0)
我一直在寻找一个如何做到这一点的例子,但据我所知,没有办法在软件包之间共享资源和代码。我能找到的最佳解决方案是让一个软件包通过ContentProvider为其他软件包提供资源。
答案 2 :(得分:0)
您可以使用此代码段
获取其他应用程序的资源context.getPackageManager().getResourcesForApplication(String appPackageName);