4

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

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

4

2 回答 2

5

我至少可以回答活动的部分原因

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

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

于 2013-04-01T19:19:54.197 回答
4

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

于 2013-04-01T19:25:05.613 回答