android developer tiny share-20160906

来源:互联网 发布:泰达网络wifi 编辑:程序博客网 时间:2024/05/21 13:56

今天讲在AndroidManifest.xml中声明Activity的一些知识点,很简单。

在清单文件中声明 Activity
您必须在清单文件中声明您的 Activity,这样系统才能访问它。 要声明您的 Activity,请打开您的清单文件,并将 <activity> 元素添加为 <application> 元素的子项。例如:

<manifest ... >  <application ... >      <activity android:name=".ExampleActivity" />      ...  </application ... >  ...</manifest >

您还可以在此元素中加入几个其他特性,以定义 Activity 标签、Activity 图标或风格主题等用于设置 Activity UI 风格的属性。android:name 特性是唯一的必需特性—它指定 Activity 的类名。应用一旦发布,即不应更改此类名,否则,可能会破坏诸如应用快捷方式等一些功能(请阅读博客文章 Things That Cannot Change [不能更改的内容])。

请参阅 &lt;activity&gt; 元素参考文档,了解有关在清单文件中声明 Activity 的详细信息。


使用 Intent 过滤器
&lt;activity&gt; 元素还可指定各种 Intent 过滤器—使用 &lt;Intent-filter&gt; 元素—以声明其他应用组件激活它的方法。

当您使用 Android SDK 工具创建新应用时,系统自动为您创建的存根 Activity 包含一个 Intent 过滤器,其中声明了该 Activity 响应“主”操作且应置于“launcher”类别内。 Intent 过滤器的内容与以下所示类似:

<activity android:name=".ExampleActivity" android:icon="@drawable/app_icon">    <intent-filter>        <action android:name="android.intent.action.MAIN" />        <category android:name="android.intent.category.LAUNCHER" />    </intent-filter></activity>

&lt;action&gt; 元素指定这是应用的“主”入口点。&lt;category&gt; 元素指定此 Activity 应列入系统的应用启动器内(以便用户启动该 Activity)。

如果您打算让应用成为独立应用,不允许其他应用激活其 Activity,则您不需要任何其他 Intent 过滤器。 正如前例所示,只应有一个 Activity 具有“主”操作和“launcher”类别。 您不想提供给其他应用的 Activity 不应有任何 Intent 过滤器,您可以利用显式 Intent 自行启动它们(下文对此做了阐述)。

不过,如果您想让 Activity 对衍生自其他应用(以及您的自有应用)的隐式 Intent 作出响应,则必须为 Activity 定义其他 Intent 过滤器。 对于您想要作出响应的每一个 Intent 类型,您都必须加入相应的 &lt;Intent-filter&gt;,其中包括一个 &lt;action&gt; 元素,还可选择性地包括一个 &lt;category&gt; 元素和/或一个 &lt;data&gt; 元素。这些元素指定您的 Activity 可以响应的 Intent 类型。

如需了解有关您的 Activity 如何响应 Intent 的详细信息,请参阅 Intent 和 Intent 过滤器文档。

0 0
原创粉丝点击