我有一个简单的安卓应用程序,可以播放视频。主屏幕上有几个按钮,按下按钮后将播放视频。一切都很正常。
我的问题是,我的主屏幕有一张背景图,还有一个按钮图像。我有一个按钮来选择应用程序的外观。有三个选项。当我选择三个选项时,背景图片和按钮图片会更改。现在我想在以后将皮肤(包含背景图和按钮图像)作为单独的apk提供。当我安装此apk时,它应该显示已经存在的皮肤。最简单的方法是什么?
谢谢
我没有尝试从其他apk中读取主题,但我认为您可以使用这种策略。
从设备中找到您的主题包。为了做到这一点,您应该制定一个命名规则或某种方法来检查该包是否是您的主题apk。我假设您将主题apk命名为“com.myapp.theme.????”
如果您找到了主题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