一、什么是Intent?
Intent的中文意思是目的。在Android中也是“目的”的意思。就是我们要去哪里,从这个activity要前往另一个Activity就需要用到Intent。
示例代码一:
1:
//定义一个Intent
2:
Intent intent = new
Intent(IntentDemo.this
, AnotherActivity2.class
);
3:
//启动Activity
4:
startActivity(intent);
以上示例代码的作用是从IntentDemo这个activity切换到AnotherActivity2。这是Intent其中一种构造方法,指
定两个Activity。为什么需要指定两个活动呢?因为在Android中有一个活动栈,这样的构造方式才能确保正确的将前一个活动压入栈中,才能在触
发返回键的时候活动能够正确出栈。
注意:所有的Activity都必须先在AndroidManifest.xml里面配置声明。一下为本文用到的程序配置文件
1:
<?
xml
version
="1.0"
encoding
="utf-8"
?>
2:
<
manifest
xmlns:android
="http://schemas.android.com/apk/res/android"
3:
package
="com.halzhang.android.intent"
android:versionCode
="1"
4:
android:versionName
="1.0"
>
5:
<
application
android:icon
="@drawable/icon"
android:label
="@string/app_name"
>
6:
<
activity
android:name
=".IntentDemo"
android:label
="@string/app_name"
>
7:
<
intent-filter
>
8:
<
action
android:name
="android.intent.action.MAIN"
/>
9:
<
category
android:name
="android.intent.category.LAUNCHER"
/>
10:
</
intent-filter
>
11:
</
activity
>
12:
<
activity
android:name
=".AnotherActivity"
android:label
="another"
>
13:
<
intent-filter
>
14:
<
action
android:name
="android.intent.action.EDIT"
/>
15:
<!-- category一定要配置,否则报错:找不到Activity -->
16:
<
category
android:name
="android.intent.category.DEFAULT"
/>
17:
</
intent-filter
>
18:
</
activity
>
19:
20:
<
activity
android:name
=".AnotherActivity2"
android:label
="another2"
>
21:
<
intent-filter
>
22:
<
action
android:name
="android.intent.action.EDIT"
/>
23:
<
category
android:name
="android.intent.category.DEFAULT"
/>
24:
</
intent-filter
>
25:
</
activity
>
26:
</
application
>
27:
<
uses-sdk
android:minSdkVersion
="3"
/>
28:
<!--
29:
上面配置的两个activity具有相同的action类型,都为“android.intent.action.EDIT”
30:
当Intent的action属性为Intent.ACTION_EDIT时,系统不知道转向哪个Activity时,
31:
就会弹出一个Dialog列出所有action为“android.intent.action.EDIT”的
32:
Activity供用户选择
33:
-->
34:
</
manifest
>
二、Intent的构造函数
公共构造函数:
1、Intent() 空构造函数
2、Intent(Intent o) 拷贝构造函数
3、Intent(String action) 指定action类型的构造函数
4、Intent(String action, Uri uri) 指定Action类型和Uri的构造函数,URI主要是结合程序之间的数据共享ContentProvider
5、Intent(Context packageContext, Class<?> cls) 传入组件的构造函数,也就是上文提到的
6、Intent(String action, Uri uri, Context packageContext, Class<?> cls) 前两种结合体
Intent有六种构造函数,3、4、5是最常用的,并不是其他没用!
Intent(String action, Uri uri) 的action就是对应在AndroidMainfest.xml中的action节点的name属性值。在Intent类中定义了很多的Action和Category常量。
示例代码二:
1:
Intent intent = new Intent(Intent.ACTION_EDIT, null);
2:
startActivity(intent);
示例代码二是用了第四种构造函数,只是uri参数为null。执行此代码的时候,系统就会在程序主配置文件AndroidMainfest.xml中寻找
<action android:name="android.intent.action.EDIT"
/>对应的Activity,如果对应为多个activity具有<action
android:name="android.intent.action.EDIT"
/>此时就会弹出一个dailog选择Activity,如下图:
如果是用示例代码一那种方式进行发送则不会有这种情况。
三、利用Intent在Activity之间传递数据
在Main中执行如下代码:
1:
Bundle bundle = new
Bundle();
2:
bundle.putStringArray("NAMEARR"
, nameArr);
3:
Intent intent = new
Intent(Main.this
, CountList.class
);
4:
intent.putExtras(bundle);
5:
startActivity(intent);
在CountList中,代码如下:
1:
Bundle bundle = this
.getIntent().getExtras();
2:
String[] arrName = bundle.getStringArray("NAMEARR"
);
以上代码就实现了Activity之间的数据传递!
分享到:
相关推荐
总之,Intent在Android开发中扮演着至关重要的角色,不仅实现了页面间的跳转,还能灵活地传递各种数据。掌握好Intent的使用,能让你的Android应用更加功能丰富且易于维护。在实际开发过程中,要根据需求选择合适的...
在Android开发中,`Intent`是一种消息对象,它允许您启动Activity、Service或者发送Broadcast等。简单来说,Intent是应用程序组件之间进行交互的一种方式。它可以携带少量数据,并指定一个要执行的动作(例如查看...
在Android开发中,Intent是一种非常重要的组件,它用于在应用程序的不同组件之间传递消息,实现活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)以及内容提供者(Content Provider)之间的交互...
3. 注册IntentFilter:为IntentFilter添加对应的ACTION,如"android.intent.action.TIME_TICK"、"android.intent.action.SCREEN_ON"和"android.intent.action.BATTERY_CHANGED"。 4. 不再需要时,记得在合适的位置...
在Android应用程序开发中,Intent是连接各个组件(如Activity、Service等)的关键桥梁,主要用于启动和关闭Activity。Intent不仅能够启动一个新的Activity,还能在Activity之间传递数据,实现应用内部或应用间的交互...
在Android应用开发中,Intent是...理解并熟练运用Intent在Android开发中至关重要,它能有效提升应用的交互性和用户体验。正确地传递数据,不仅可以完成基本的信息传递,还能实现更复杂的业务逻辑,如启动服务、广播等。
在这个“android开发中Intent在两个Activity间传值示例”中,我们将深入探讨如何使用Intent在两个Activity之间传递数据。 1. **Intent的基本概念** Intent是一个表示一个动作的意图对象,它包含了一个操作和操作的...
Android7.0 Intent打开文件管理器 获取文件真实路径。虽然网上很多demo,但是没有一个能够兼容所有Android机的,去网上学习了然后自己亲测过手机分别有Android7.0/6.0/4.3个版本。
在Android应用开发中,Intent是连接应用程序组件的重要桥梁,它用于启动新的Activity或者服务,以及在组件间传递数据。Intent可以分为显式Intent和隐式Intent。本篇将重点讲解如何利用Intent在Android中调用Activity...
总结起来,Intent在Android开发中扮演着至关重要的角色,它不仅连接了应用内的各个组件,还实现了应用间的交互。理解和熟练使用Intent,是每个Android开发者必备的技能之一。通过合理的Intent设计,我们可以构建出...
在Android开发中,Intent是一种非常重要的组件间通信机制。它被用来启动活动(Activity)、服务(Service)或者传递数据。本示例将深入探讨Intent的基本用法和常见应用场景。 首先,Intent分为显式Intent和隐式...
在Android开发中,Intent是一种强大的工具,用于在不同的组件之间传递数据和启动操作。当我们需要在应用程序中调用外部应用,如地图应用,如百度地图或高德地图,Intent是实现这一功能的关键。本篇文章将深入讲解...
【Android开发教程之Intent详细讲解】 Intent在Android开发中扮演着至关重要的角色,它是四大组件(Activity、Service、BroadcastReceiver、ContentProvider)间通信的主要桥梁。Intent不仅描述了一个操作的动作,...
在 Android 开发中,Intent 是一个非常重要的概念,它允许不同的应用程序之间进行交互和通信。在本文中,我们将探讨如何使用 Intent 跳转到系统应用中的拨号界面、联系人界面、短信界面等。 拨号界面 要跳转到拨号...
在Android开发中,Intent是一种非常重要的组件,它用于在应用程序之间传递消息,也可以用来启动其他应用程序的组件,如Activity、Service等。当我们想要在应用中实现视频相关的功能时,如拍摄视频或播放视频,Intent...
在Android应用开发中,Intent是一种强大的机制,它用于在组件之间传递消息,是应用程序中不同组件(如Activity、Service、BroadcastReceiver)之间交互的核心工具。Intent不仅能够启动其他组件,还可以用于在组件间...
在sendBroadcast,startActivity时,我们会用到Intent。 Intent可以携带一些数据,比如基本类型数据int、Boolean,或是String,或是序列化对象,Parcelable与Serializable。 Intent传递数据时,如果数据太大,可能...
在Android开发中,`Intent`是进行组件间通信的重要工具之一,它可以启动一个Activity、BroadcastReceiver或Service,也可以用来向服务发送数据请求。其中,`Intent`的一个关键特性是能够携带`Uri`(Uniform Resource...
总结,Intent是Android开发中非常重要的工具,它使得Activity间的通信变得简单而灵活。理解并熟练掌握Intent的使用,对于Android开发者来说至关重要。在实际项目中,我们应根据需求选择合适的方式来传递和接收数据,...