始终在AndroidManifest文件中声明活动和服务?

时间:2012-05-20 08:54:29

标签: android android-intent android-manifest android-service android-activity

我知道您必须在 AndroidManifest.xml 文件中声明所有活动服务,以便系统可以访问它们(正如官方文档中所述)但如果我有一个服务活动,我想在我的应用程序中仅通过另一个活动启动,我需要在清单中声明它吗?即,我总是从我的应用程序的主要活动中启动辅助活动,该活动直接指向辅助活动的类(没有意图过滤器解析),是否仍需要在清单中声明辅助活动?如果我不希望我的应用程序之外的任何人能够启动我的辅助活动,该怎么办?如果这是一个愚蠢的问题,我很抱歉,我只想了解当你希望它们只是通过将它们各自的类指向它们时,从清单文件中省略活动和服务是否是一个好的做法(如果可能的话)。相同的应用程序。

1 个答案:

答案 0 :(得分:5)

您必须在AndroidManifest.xml文件中声明所有活动和服务(以及BroadcastReceivers等所有其他内容)。 否则你将无法使用它们。


编辑:根据CommonsWare评论,将android:exported =“false”添加到AndroidManifest.xml的活动声明中会阻止您的辅助活动在您的应用程序之外启动。