在Android中,Activity允许有很多种调用方式,其中一个方法是使用 <intent-filter>。
比如:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="www.google.com"
android:path="m/products/scan"
android:scheme="http" />
</intent-filter>
一开始我以为,在浏览器中键入“http://www.google.com/m/products/scan”就可以调用了的,结果发现浏览器只是正常打开它 T.T
后来发现,它的调用仍然需要使用intent
Uri uri = Uri.parse("http://www.google.com/m/products/scan");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
我是在一个Button的onClick()方法里写的这些代码,这样按这个按钮,就会调用所有符合要求的含有对应<intent-filter>的Activity,在我的手机里,有Chrome Beta、浏览器、快拍二维码、条码扫描器,以及我刚刚创建那个应用的Activity。
嗯嗯,记录一下,以后会经常把日常遇到的问题记下来,方便遇到同样问题的开发者们一起学习!
2012-6-18 23:13 于宿舍
分享到:
相关推荐
总结来说,`Activity_intent-filter` 是Android开发中一个核心的概念,通过正确配置 `intent-filter`,可以实现组件间的有效通信,提供丰富的用户体验。了解并熟练掌握 `intent-filter` 的使用,是每个Android开发者...
- 在AndroidManifest.xml中,每个组件都可以定义一个或多个Intent-filter,用来声明该组件能处理哪些类型的Intent。 - 每个Intent-filter包含Action、Data和Category等元素。 2. Intent-filter匹配规则: - 一个...
在Android应用开发中,Intent Filter是一个至关重要的概念,它用于定义一个组件(如Activity或BroadcastReceiver)能够响应的Intent类型。Intent Filter就像一个过滤器,筛选出应用可以处理的特定操作,使得系统能够...
在Android应用开发中,Intent是连接应用程序组件的重要桥梁,它被用来启动新的Activity或Service,也可以传递数据。本文将深入探讨如何在两个Activity之间通过Intent进行数据传递。 首先,理解Intent的基本概念。...
* 系统会提示从多个 activity 中选择一个打开,例如我们自己开发一个拨号面板应用程序,可以设置 activity 的 `<intent-filter>` 中 Action name 为 "abcdefg",这样别的程序调用拨号器时,用户可以从 Android 自带...
- 一个Activity中可以定义多个 `<intent-filter>`,只要其中一个能够与Intent匹配,即可启动该Activity。 12. **`<action>` 必要性**: - `<action>` 是 `<intent-filter>` 中不可或缺的一部分,即使通过其他方式...
总结来说,实现从一个Android应用调用另一个应用的Activity涉及理解Intent、Intent Filter和AndroidManifest.xml的配置。同时,需要确保安全性和正确性,以提供良好的用户体验。通过上述步骤,你可以实现跨应用的...
这种方法是通过创建多个Activity,并在每个需要作为启动入口的Activity中添加特定的`<intent-filter>`标签。`<intent-filter>`包含`<action>`和`<category>`,告诉系统这是一个可以被用户从主屏幕启动的Activity。...
当多个Activity可以响应同一个Action时,Android系统会根据Intent的其他属性(如Data、Category)以及AndroidManifest.xml中的配置来决定启动哪个Activity。 首先,我们需要了解在AndroidManifest.xml中声明...
在Android中,当有多个Activity声明了同一个action的IntentFilter,系统会使用Intent的筛选机制来决定启动哪个Activity。这个过程通常涉及以下步骤: 1. **Intent Filter声明**:在AndroidManifest.xml中,为每个...
在Android应用开发中,Activity是Android系统中的一个核心组件,它是用户界面的载体,而Intent则是连接各个Activity的桥梁,用于传递数据和启动其他组件。Intent不仅用于启动Activity,还能启动Service、...
在Android应用开发中,Activity和Intent是两个至关重要的概念,它们构成了Android应用程序的基本骨架。Activity作为用户界面的主要载体,Intent则是连接各个组件的桥梁,负责传递消息和启动操作。 Activity的生命...
Intent是Android系统中的一个类,它是用来表达一个动作的意图,可以用来启动另一个Activity或Service,或者发送广播。在Activity跳转中,Intent起着至关重要的作用。 1. 创建Intent 在Java代码中,创建Intent对象...
4. **finish()**:如果想从当前Activity返回到前一个Activity,可以调用finish()方法,这将导致当前Activity被销毁,并且系统会调用其onDestroy()方法。同时,上一个Activity的onRestart()、onStart()和onResume()...
这样,当其他应用或者浏览器试图打开符合这个模式的URI时,Android系统会寻找相应的Intent过滤器,并调用相应Activity。 3. **数据处理** 当Intent被发送到我们的Activity时,我们可以在`onCreate`或`onNewIntent...
当用户在多个Activity间切换时,这些方法会被相应调用。 实现Activity之间的跳转,主要依靠Intent对象。Intent是用来表示应用中一个动作的意图,可以理解为一种消息传递方式,告诉Android系统你想要做什么。在本...
在Android应用开发中,Activity和Intent是两个至关重要的概念,它们构成了Android应用程序的基本交互机制。这篇笔记将深入探讨这两个核心组件以及它们之间的关联。 Activity在Android系统中扮演着视图窗口的角色,...
- FLAG_ACTIVITY_SINGLE_TOP:如果目标Activity已经在栈顶,不会再次创建,而是调用onNewIntent()方法。 6. 使用Intent实现Activity之间的通信: - 使用startActivityForResult()启动Activity,获取返回结果。 -...