为什么需要将活动/服务明确添加到Android清单?

时间:2013-04-01 19:14:44

标签: android service android-activity android-manifest

在Android开发中,您必须将所有活动和/或服务添加到清单文件中。我知道如何做到这一点,但我不明白为什么我需要这样做。跳过这似乎是一个不必要的箍。

Android文档有帮助,但我仍然不清楚“为什么”(http://developer.android.com/guide/topics/manifest/manifest-intro.html)。

2 个答案:

答案 0 :(得分:5)

我至少可以回答部分为什么进行活动。

清单也是您声明IntentFilter的地方,这是系统了​​解您的应用程序的功能。即,当用户试图拍照时,您的活动应该是难以辨认的选择吗?选择一个文件?分享一段文字?除此之外,IntentFilter还告诉Launcher应用程序您希望将您的活动包含在Applications抽屉中。

您还可以在活动中设置几个配置选项,这些选项必须在清单中完成,即SingleTop。如果清单中没有声明,就没有地方可以声明这些配置。

答案 1 :(得分:4)

规则是:只能调用Manifest中列出的那些活动。列出的一些不仅可以由您的应用程序调用,还可以由其他一些应用程序调用。因此Android扫描清单并确定可以调用哪些活动。我认为他们只是遵循最简单的逻辑。任何“默认值”,例如“不需要在清单中声明活动,如果......”将是不必要的并发症。他们不应该关心程序员的方便,而是关心清晰(我认为)。