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

我想创build一个活动,但不必在清单文件中声明它。 这可能吗? 我见过的地方似乎每个活动都必须在清单中声明,但我注意到一些活动,如内置的ChooserActivity,没有在我的清单文件中声明。

  • Android如何使用给定的格式创build自定义URLschememyapp:// http://
  • android:theme =“@ android:style / Theme.NoTitleBar.Fullscreen”适用于应用程序级别,但不适用于活动级别。 任何线索?
  • Nexus 6正确的屏幕尺寸和密度configuration是什么?
  • 在Android中接收自定义urlscheme的数据
  • 更好的地方把versionCode / versionName? build.gradle vs AndroidManifest.xml
  • 意图过滤当自定义URI被点击时启动我的活动
  • 用于http地址的Android Intent-Filter
  • 设置用于不同分辨率的可绘制文件夹
  • 简短的回答:是的,您的应用程序中的每个活动都必须在清单中声明。 如Android文档中所述,清单(除其他外)的目的是:

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

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

    因此,您的应用程序中的任何Activity类都必须在您的清单中定义。 即使这些组件不能从应用程序之外访问,Intents,Services等也是如此。

    至于ChooserActivity和其他您没有在代码中定义的Activity,他们将在另一个Manifest中拥有自己的定义。 如果出于某种原因,您决定在您的应用程序之外对现有的Activity进行子类化,那么您也必须在您的Manifest中定义它。

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

    不,对不起。

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

    该活动不是您的应用程序的一部分。 它是核心操作系统的一部分。