<Activity>元素中也能使用<intent-filter>元素来指定各种Intent过滤器,以便声明其他应用程序组件可以怎样激活它。
当你使用AndroidSDK工具创建一个新的应用程序是,自动创建的那个Activity包含了一个声明Activity响应“Main”动作的Intent过滤器,并且这个过滤器被放在“Launcher”分类中。过滤器声明如下:
<action>元素指定了这是应用程序的主入口。<category>元素指定了这个Activity应该被列在系统的应用装载器中(允许用户加载这个Activity)
如果你打算让你的应用程序自包含,并且不允许其他应用成来激活它的Activity,那么不需要任何其他的Intent过滤器,只需要向前面例子那样给Activity配置“main”动作和“launcher”分类就可以了。不想对其他应用程序有效的Activity不应该有Intent过滤器,并且你可以在自己的应用程序中启动。
但是,如果你想让你的Activity响应来自其他应用程序(包括应用程序自己)的隐含的Intent,那么你就必须给你的Activity定义额外的Intent过滤器。对于你想响应的每种Intent类型,你必须在<intent-filter>元素中包含一个<action>元素,并且可选择的包含<category>和<data>元素。这些元素指定了你的Activity能够响应那种类型的Intent。
关于Activity能够响应的Intent的更多信息,请看Intents and Intent Filters文档。
注:本人转载系个人觉得翻译的很好,值得收藏,且自己回头看着方便。
如有兴趣请访问作者官方博客http://blog.csdn.net/FireOfStar
分享到:
相关推荐
例如,一个Activity可以通过在AndroidManifest.xml中定义Intent过滤器,声明它能响应特定的Action、Data URI或Category,这样当有匹配的隐式Intent被发送时,这个Activity就会被激活。 压缩包内的文件名称列表: 1...
- 隐式启动时,确保你的Activity在AndroidManifest.xml中设置了正确的Intent过滤器,以便系统能找到并启动它。 - 使用Intent传递数据时,可以通过`putExtra()`方法添加额外的信息,然后在接收端使用`getExtra()`获取...
而隐式Intent不指定具体组件,而是通过设定Action、Data、Category等信息,让系统根据Intent的过滤器来选择合适的组件执行。 在实际应用中,我们通常使用Intent来启动一个新的Activity。例如,通过创建一个Intent...
这时,可以在创建Intent时省略目标Activity的类名,并在Manifest.xml中为TargetActivity设置过滤器,声明它可以处理哪种类型的Intent。 例如,如果你想发送一个可以被任何能处理文本数据的Activity接收的Intent: ...
在AndroidManifest.xml文件中,我们需要为每个组件声明其能够处理的Intent过滤器,这样系统才能知道哪些组件可以响应特定的Intent。 总结起来,Intent在Android开发中扮演着至关重要的角色,它不仅连接了应用内的...
在AndroidManifest.xml中,每个Activity或Service都会声明其能处理的Intent类型,系统通过比较Intent的属性与组件声明的过滤器来决定哪个组件最适合处理Intent。 6. **IntentFlags**: - 比如`FLAG_ACTIVITY_NEW_...
组件通过声明Intent过滤器(Intent Filter)来表明它们可以处理哪些Intent。过滤器包含动作、数据URI、类别等元素,系统会对比Intent和过滤器来决定Intent应由哪个组件处理。 9. **Intent的生命周期** 在Activity...
例如,如果一个Activity想要处理图片,它会在清单文件中添加如下过滤器: ```xml <activity android:name=".ImageViewerActivity"> <intent-filter> <action android:name="android.intent.action.VIEW" /> ...
Intent Filter就像一个过滤器,筛选出应用可以处理的特定操作,使得系统能够将合适的Intent分发给正确的目标组件。在本教程中,我们将深入探讨Intent Filter的使用方法。 首先,Intent Filter的配置主要在...
4. 使用Intent创建意图过滤器(Intent Filter): - 在AndroidManifest.xml中,为Activity或BroadcastReceiver添加过滤器,定义能响应的Action、Data和Category。 - 示例: ```xml <activity android:name="....
在这里,我们将深入探讨Android Intent过滤器的概念、工作原理以及如何在实际应用中设置和使用。 **Intent Filter的基本概念** Intent Filter是Android组件(如Activity或Service)声明它们能够处理的Intent类型的...
通过定义Intent过滤器,你可以使你的Activity对其他应用可见,实现跨应用交互。 在18个章节的学习过程中,你将深入理解Android应用开发的基本原理,包括项目的初始化、UI设计、Activity管理、Intent的使用,以及与...
- 隐式Intent 需要组件定义相应的过滤器,声明它能处理哪些动作、数据类型和类别。 - 在AndroidManifest.xml中,通过`<intent-filter>`标签设置过滤器。 5. **Activity 启动与切换** - 使用`startActivity...
7. 意图过滤器(Intent Filter): 在AndroidManifest.xml中,我们可以为Activity或Service定义Intent Filter,以响应特定的隐式Intent。例如,为了响应上面的Web浏览Intent,我们可以在Activity声明中添加: ```...
2. **可扩展性**:新组件可以轻松集成到系统中,只需定义合适的 Intent 过滤器,就可以响应特定的 Intent 请求。 3. **灵活性**:Intent 不仅用于启动新的 Activity,还可以启动 Service、广播接收器,甚至用于跨...
`Intent`可以用于启动一个新的活动(Activity)、广播消息给所有感兴趣的广播接收器(Broadcast Receiver),或是启动一个服务(Service)。 - **启动Activity**:通过调用`startActivity()`方法,可以利用Intent来启动新...
- **注册Intent过滤器**:在AndroidManifest.xml中通过`<intent-filter>`标签定义Intent过滤器,包括`<action>`、`<category>`和`<data>`标签。 - **创建Intent**:在代码中创建Intent对象,并设置需要的动作、数据...
在这里,你可以看到所有Activity和Intent过滤器的声明。 2. **src/main/java** - 包含应用的Java源代码。每个Activity对应一个Java类,它们处理用户交互并响应Intent。 3. **res** - 存放应用的资源,如布局文件...
2. **数据匹配**:如果Intent包含数据URI,系统会检查每个组件的Intent过滤器,看其是否声明了能处理这种数据的MIME类型。 3. **类别匹配**:如果有类别信息,系统会进一步筛选出包含指定类别的组件。 4. **优先级...