Android - 如何在主屏幕上创建管理多个图标的活动?

时间:2014-04-18 20:47:42

标签: android android-activity icons homescreen

我正在尝试创建一个活动,提供一个选择图标的屏幕。选择此选项后,此应用应按以下方式运行:

1-每个选定的图标应出现在主屏幕中,并带有自己的图像。这些图标不应作为应用程序目录中的应用程序提供。它们应该表现为简单的快捷方式,由主要活动直接添加或删除;

2 - 当我按下主屏幕上的其中一个图标时,我想根据按下的图标启动应具有特定行为的活动。

是否可以实施此要求?你能帮我解决一下这个指南或解决方法吗?

非常感谢您的支持。

JoséReviralho

1 个答案:

答案 0 :(得分:1)

  

每个选定的图标都应出现在主屏幕中,并带有自己的图像

我假设"它自己的形象" =="选择图标"。

您无法在运行时更改与活动关联的图标。如果图标列表相当小,而且它们都是可绘制的资源,您可以尝试每个图标<activity-alias>一个,默认情况下全部禁用,然后使用PackageManagersetComponentEnabledSetting()启用一个用户选择。如果用户可以多次选择相同的图标,则每个图标需要有N <activity-alias>个元素(因此应用程序可以在每个选择的启动器中显示)。这很快就会变得非常冗长。

  

它们应该表现为简单的快捷方式,由主要活动直接添加或删除

如果通过&#34;简单的快捷方式&#34;你的意思是&#34;启动器/应用程序抽屉中的图标&#34;,<activity-alias>元素各自都有标准MAIN / LAUNCHER <intent-filter>,所以那些你启用将显示在那里。

请注意,并非所有主屏幕实现都会检测到启用和禁用这些内容的时间,因此如果图标未显示,用户可能需要重新启动。

  

当我按下主屏幕上的其中一个图标时,我想根据按下的图标启动应具有特定行为的活动

您无法更改<activity-alias>在运行时指向的活动 - 这是硬编码到清单中的活动。之一:

  • 您将对所有图标使用一个活动,每个不同的图标都有不同的片段,或者

  • 您需要让<activity-alias>个元素都指向一个使用Theme.NoDisplay的活动,而这个活动又可以确定要启动的正确实际活动,或者

    < / LI>
  • 每个图标需要M <activity-alias>个元素,每个可能的活动需要一个元素,以便为正确的图标/活动组合启用正确的元素

  

是否可以实施此要求?

总之,这不容易实现,但理论上应该是可行的。