Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我必须声明清单文件中的每个活动吗?_Android_Android Activity_Android Manifest - Fatal编程技术网

Android 我必须声明清单文件中的每个活动吗?

Android 我必须声明清单文件中的每个活动吗?,android,android-activity,android-manifest,Android,Android Activity,Android Manifest,我想创建一个活动,但不必在清单文件中声明它。这可能吗?在我所看到的任何地方,似乎每个活动都必须在清单中声明,但我注意到一些活动,例如内置的ChooseSactivity,没有在我的清单文件中声明 我想创建一个活动,但不必在清单文件中声明它。这可能吗 不,对不起 我注意到一些活动,例如内置的ChooseSactivity,没有在清单文件中声明 该活动不是应用程序的一部分。它是核心操作系统的一部分。简短回答:是的,应用程序中的每个活动都必须在清单中声明。如Android文档所述,清单的目的(除其他外

我想创建一个活动,但不必在清单文件中声明它。这可能吗?在我所看到的任何地方,似乎每个活动都必须在清单中声明,但我注意到一些活动,例如内置的ChooseSactivity,没有在我的清单文件中声明

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

不,对不起

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


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

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

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

因此,必须在清单中定义应用程序中的任何活动类。意图、服务等也是如此,即使这些组件无法从应用程序外部访问


至于ChooseSactivity和您在代码中没有定义的任何其他活动,它们将在另一个清单中有自己的定义。如果出于任何原因,您决定在应用程序之外对现有活动进行子类化,那么您也必须在清单中定义该活动。

ChooseActivity在另一个清单文件中声明,并向您的应用程序公开。你的目标是什么,不把它放在清单中,这可能会帮助我回答你的问题。Xamarin.Android通过使用属性(就像Java中的注释)自动完成这项工作。也许有人也可以用Java创建一个工具来实现这一点。从一个新手到Android,从设计的角度来看,这是毫无意义的!您不能定义不在清单中的活动,也不能拥有不在代码中的清单条目,那么为什么编译器不能为您处理这些呢?将清单中的异常保留为默认配置,并让编译器“填充”其余部分!为什么要我们这么做。。。那是除非我的理解是错误的,我遗漏了一些东西,在这种情况下,请分享,以便我可以学习,因为现在的方式,这似乎只是乏味和不必要的文书工作!注意,我显然指的是我在我的应用程序中定义的活动,而不是我的应用程序中可用的活动(即系统提供的活动等)。如果您定义了类,您负责将其添加到清单中,清单仅适用于您定义的活动,而不是外部活动,因此,对于那些不需要显式配置的编译器,为什么不能推断出这一点?见鬼,添加一个“隐式活动”来定义那些未指定的默认值。你的论点可能有一些优点。然而,考虑到1)它们有一个现有的工具链和OS版本来支持2)在您导入的项目或库中可能有活动/服务/广播接收器/等,而不希望应用程序启动/使用(例如,基础活动或AppCubActuvior)。3)我不确定这些组件的默认配置有多有用,因为每个组件通常都是定制的,带有标题、图标、意图过滤器、主题、启动模式、元数据等。4)可能还有其他参数或约束。我知道这是一个旧答案,从2018年开始,活动分为
活动
活动
。是否仍需要在清单中声明这两种类型的活动类,从而使当前正确答案仍然适用于此情况并有效?@tom_mai78101
AppCompatActivity
extends
Activity
,因此仍需要在清单中注册才能启动它