7

我的目标是修改 Launcher 应用程序并动态修改和更改主题。

我在http://www.cyrket.com/p/android/com.stain46.taghome/看到了几个“家庭”应用程序。看起来他们采用了默认的 Home(Launcher) 并对其进行了修改。他们是怎么做到的?我需要修改什么来达到同样的效果?

4

3 回答 3

9

我已经使用 ICS 启动器完成了这项工作。您还需要进行大量代码更改才能将其编译为普通应用程序,因为它使用大量私有内部 API(尽管 Google 可能暗示了这一点)。您还需要更改包名称。我发现有两个限制:

  1. 有一个名为 TableMaskFilter 的过滤器不适用于普通应用程序。我认为这允许应用程序抽屉是半透明的,但我删除了它的使用,我认为它看起来不错。

  2. 更关键的是,似乎无法复制小部件添加体验,因为它需要只有系统应用程序才能拥有的权限。看到这个问题。

无论如何,我把我的来源放在这里。它可以在官方的 Galaxy S2 4.0.3 上编译和运行,但如果你尝试添加小部件,它会崩溃。

请注意,当您更改包名称时,Eclipse 的重构不会注意到某些地方(例如 XML 布局)。我建议您改为进行全局文本搜索/替换。

于 2012-03-28T11:11:57.603 回答
7

标准的Launcher是开源的,因此您绝对可以获取它并按照您想要的方式对其进行修改。要将您的应用用作主屏幕,您需要在 AndroidManifest.xml 中指定正确的Intent 过滤器,并且用户必须在按下 Home 按钮时选择您的应用。你为什么不抓住那个代码,玩弄它,当你有更多问题和更多关于你想要改变的想法时回来。

于 2010-07-07T03:06:34.310 回答
4

在这里我找到了一个稳定版本的 Launcher2

我已经分享了那个 GitHub 存储库。这里

这个项目的维基:

此项目包含 Android Jelly Bean (API 16) 附带的 Launcher 应用程序的代码。

需要对此源代码进行一些小的更改,以删除对私有 API 的使用。这些更改已用“// AOSP Change”标记

于 2013-10-04T11:11:29.020 回答