安卓如何将额外的皮肤作为单独的APK添加?

14

我有一个简单的安卓应用程序,可以播放视频。主屏幕上有几个按钮,按下按钮后将播放视频。一切都很正常。

我的问题是,我的主屏幕有一张背景图,还有一个按钮图像。我有一个按钮来选择应用程序的外观。有三个选项。当我选择三个选项时,背景图片和按钮图片会更改。现在我想在以后将皮肤(包含背景图和按钮图像)作为单独的apk提供。当我安装此apk时,它应该显示已经存在的皮肤。最简单的方法是什么?

谢谢

1个回答

2

我没有尝试从其他apk中读取主题,但我认为您可以使用这种策略。

  1. 从设备中找到您的主题包。为了做到这一点,您应该制定一个命名规则或某种方法来检查该包是否是您的主题apk。我假设您将主题apk命名为“com.myapp.theme.????”

  2. 如果您找到了主题apk,请从该应用程序中读取资产文件。我不知道如何做到这一点,但此链接将对您有所帮助。访问另一个应用程序的资源?

PackageManager pkgMgr = ctx.getPackageManager();
List<ApplicationInfo> apps = pkgMgr.getInstalledApplications(PackageManager.GET_META_DATA);
for (ApplicationInfo ai : apps) {
  String pkgName = ai.packageName;
  if( pkgName.startsWith( "com.myapp.theme" ) {  //this pkg is your theme pkg
       //access asset of this app
  }
}

fff


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接