Android-实现图标包支持

问题描述 投票:12回答:2

我正在尝试在我的应用程序中实现图标包支持,以便与Apex,Nova,ADW等一起使用的相同图标包。也将与我的应用程序一起使用。使用此代码,找到appfilter xml文件,然后解析它以获取可绘制的名称,我已经能够使用免费主题来进行此工作:

Context context = createPackageContext(packageName, Context.CONTEXT_IGNORE_SECURITY);
                Resources res = context.getResources();
                String str = "";
                res.getAssets().list(str);

但是带付费图标包却不起作用。返回的资产为0。我相信这是由于JB +上付费应用程序上存在向前锁定而使资产变为私有。 (此处概述:Accessing assets of other Android app on Jelly Bean

我无法找到有关如何支持图标包和反编译图标包apk的任何信息,我看不到任何内容提供者,因此我只能假定这些启动器应用程序正在使用类似于我的方法来检索资产。

有人能给我任何有关如何完成此操作的信息,或为我指明正确的方向吗?

java android icons assets
2个回答
1
投票

不是官方消息,但Apex Launcher Theme Tutorial指出

[下一步,打开res / xml目录下的appfilter.xml文件。 (注意:该文件以前位于资产目录下,但是JellyBean中的新应用程序加密功能使主题引擎无法访问付费主题的资产。)

因此,似乎没有使用任何特殊的内容提供程序-仅需对该机制进行调整即可使用Jelly Bean上引入的安全性机制。


0
投票

太晚了,但是几年前我在Solid Launcher中实现了shuch功能。它可能并不完美,但是它将为您提供有关主题工作原理的基本说明。

https://gist.github.com/MajeurAndroid/a51869e826b9a283a173b65e923857f8

© www.soinside.com 2019 - 2024. All rights reserved.