【问题标题】:Why do Activities/Services need to be explicitly added to the Android manifest?为什么需要将活动/服务显式添加到 Android 清单中?
【发布时间】:2013-04-01 19:14:44
【问题描述】:
【问题讨论】:
标签:
android
service
android-activity
android-manifest
【解决方案1】:
我至少可以回答活动的部分为什么。
清单也是您声明您的 IntentFilter 的地方,这是系统如何理解您的应用程序所做的事情。即当用户尝试拍照时,您的活动是否应该是难以辨认的选择?选择一个文件?分享一段文字?除此之外,IntentFilter 还告诉 Launcher 应用您希望将您的 Activity 包含在 Applications 抽屉中。
您还可以在必须在清单中完成的活动上设置几个配置选项,即 SingleTop。如果清单中没有声明,就没有地方声明这些配置。
【解决方案2】:
规则是:只有清单中列出的那些活动才能被调用。列出的其中一些不仅可以由您的应用程序调用,而且可以由其他一些应用程序调用。因此,Android 会扫描清单并确定可以调用哪些活动。我认为他们只是在这里遵循最简单的逻辑。任何“默认值”,例如“不需要在 Manifest 中声明 Activity,如果..”将是不必要的复杂化。他们不应该关心程序员的便利性,而是关心清晰(我认为)。