我是否必须在清单文件中声明每个活动?

时间:2013-12-12 00:20:37

标签: android android-activity android-manifest

我想创建一个Activity,但不必在清单文件中声明它。这可能吗?我已经看到似乎必须在清单中声明每个活动,但我注意到一些活动,例如内置的ChooserActivity,未在我的清单文件中声明。

2 个答案:

答案 0 :(得分:13)

简短回答:是的,您的应用程序中的每个活动都必须在清单中声明。如Android文档中所述,清单(以及其他内容)的目的是:

  

它描述了应用程序的组件 - 活动,服务,广播接收器和内容提供商   应用程序由。它命名实现每个的类   组件并发布其功能(例如,哪些   他们可以处理的意图消息)。这些声明让Android   系统知道组件是什么以及它们可以在什么条件下   推出。)

http://developer.android.com/guide/topics/manifest/manifest-intro.html#ifs

因此,您的应用程序中的任何活动类必须在您的清单中定义。即使这些组件无法从您的应用程序外部访问,也可以使用Intent,Services等。

对于ChooserActivity以及您未在代码中定义的任何其他Activity,它们将在另一个Manifest中拥有自己的定义。如果由于某种原因你决定在你的应用程序之外继承现有的Activity,那么你也必须在你的Manifest中定义它。

答案 1 :(得分:10)

  

我想创建一个Activity,但不必在清单文件中声明它。这可能吗?

不,抱歉。

  

我注意到一些活动,例如内置的ChooserActivity,未在我的清单文件中声明

该活动不属于您的申请。它是核心操作系统的一部分。