Intent是什么?
-
Android中提供了Intent机制来协助应用间的交互与通讯,或者采用更准确的说法是,Intent不仅可用于应用程序之间,也可用于应用程序内部的activity, service和broadcast receiver之间的交互。
-
Intent是一种运行时绑定(runtime binding)机制,它能在程序运行的过程中连接两个不同的组件。通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来响应
-
activity、service和broadcast receiver之间是通过Intent进行通信
如果Activity1需要和Activity2进行联系,二者不需要直接联系,而是通过Intent作为桥梁。通俗来讲,Intent类似于中介,如果这篇文章对你有用,请关注我们的微信公共号AppCode。
Intent到底能做些什么
1. 打开指定的页面
2. 启动一个服务
3. 发送广播
Intent intent = new Intent();
intent.setAction("...");
Context.sendBroadcast(intent);
4. 使用系统照相机
-
简单的拍照并且拿到图片
-
调用系统相机应用程序,并存储拍下来的照片
5. 获取并剪切图片
-
获取并剪切图片
-
剪切特定图片
6. 打开系统录像机
-
打开录制视频并保存本地
-
选择手机中视频资源
Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Video.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, 5);
7. 拨打电话
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
Uri data = Uri.parse("tel://110");
intent.setData(data);
startActivity(intent);
8. 发送短信
Uri uri = Uri.parse("smsto:10086");
Intent intent = new Intent(Intent.ACTION_SENDTO, uri);
intent.putExtra("sms_body", "Hello");
startActivity(intent);
9. 打开指定的网页
10. 操作apk
-
安装apk:
Uri installUri = Uri.fromParts("package", "xxx", null);
returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri);
-
卸载apk
Uri uri = Uri.fromParts("package", strPackageName, null);
Intent it = new Intent(Intent.ACTION_DELETE, uri);
startActivity(it);
11. 进入联系人页面
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(People.CONTENT_URI);
startActivity(intent);
12. 调用系统编辑添加联系人
13. 打开另一程序
14. 打开录音机
Intent mi = new Intent(Media.RECORD_SOUND_ACTION);
startActivity(mi);
15. 传递参数
-
页面之间传递对象
-
下个页面获取传递的数据
WeekViewEvent weekEvent = (WeekViewEvent)
intent.getSerializableExtra("WeekEvent");
相关推荐
- `putExtra()`: 用于添加额外的数据到Intent中,例如字符串、整数、布尔值等,以便在目标组件中通过`getExtras()`获取。 - `setFlags()`: 设置Intent的标志,影响Intent的处理方式,如FLAG_ACTIVITY_NEW_TASK用于...
在Android应用程序开发中,Intent是连接各个组件(如Activity、Service等)的关键桥梁,主要用于启动和关闭Activity。Intent不仅能够启动一个新的Activity,还能在Activity之间传递数据,实现应用内部或应用间的交互...
在给定的标题"android.intent.action.TIME_TICK"中,涉及的是一个特定的系统广播,当系统时间每分钟改变时,这个广播就会被发送。这个广播事件对于那些需要定时更新或依赖于系统时间的应用程序非常有用。 描述中...
在Android应用开发中,Intent是连接应用程序组件之间通信的关键机制,它用于启动其他组件或传递数据。本篇文章将深入探讨Intent的基本概念、类型、构造方法以及如何在Android中有效地使用Intent。 Intent是一种意图...
在Android开发中,Intent是一种非常重要的组件间通信机制。它被用来启动活动(Activity)、服务(Service)或者传递数据。本示例将深入探讨Intent的基本用法和常见应用场景。 首先,Intent分为显式Intent和隐式...
### Android中Intent的Uri使用详解 #### 概述 在Android开发中,`Intent`是进行组件间通信的重要工具之一,它可以启动一个Activity、BroadcastReceiver或Service,也可以用来向服务发送数据请求。其中,`Intent`的...
Android 中使用 Intent 打开各种文件类型 Android 操作系统提供了 Intent 机制,允许应用程序之间进行交互和通信。Intent 是一个异步的消息机制,用于在应用程序之间请求或提供服务。通过使用 Intent,可以实现打开...
当我们需要在Intent中传递复杂对象时,有两种主要的方法:Serializable和Parcelable。这两种方式都可以实现对象的序列化,但它们在性能和效率上存在差异。 **Serializable接口** Serializable接口是Java提供的一个...
在Android应用开发中,Intent和ProgressBar是两个非常关键的组件。Intent主要用于启动活动(Activity)、服务(Service)或广播接收器(BroadcastReceiver),而ProgressBar则是显示进度或加载状态的控件,为用户...
3. 传递数据:通过`putExtra()`方法可以向Intent中添加键值对,用于传递数据。数据类型可以是基本类型(如String、int)、Parcelable对象或Serializable对象。例如,传递一个字符串: ```java intent.putExtra(...
android Intent例子源码android Intent例子源码android Intent例子源码android Intent例子源码android Intent例子源码android Intent例子源码
在Android应用开发中,Intent是一种强大的机制,用于在组件之间传递信息和启动操作。它扮演着应用程序内部通信的重要角色,特别是在活动(Activity)之间。"Android通过Intent传递数据"这一主题,涵盖了Intent的基本...
6. Parcelable接口:对于更复杂的数据结构,如自定义对象,你可以使对象实现Parcelable接口,这样可以在Intent中直接传递对象。实现Parcelable接口涉及多个步骤,包括创建描述符类、实现writeToParcel()和...
"Android Intent 和 ContentProvider" Android Intent 是 Android 组件之间的信使,负责在 Android 三大核心组件(Activity、Service、Broadcast Receiver)之间传递信息。Intent 是一个将要执行的动作的抽象描述...
在Android开发中,Intent是一个非常重要的概念,它用于在组件之间传递消息,是Android系统启动服务、启动或跳转Activity的主要手段。本篇文章将详细解释Intent的基本使用以及如何通过Intent实现在两个Activities之间...
前言 在sendBroadcast,startActivity时,我们会用到Intent。 Intent可以携带一些数据,比如基本类型数据int、Boolean,或是String,或是序列化...在Intent中传入一个Parcelable对象;例如传入一个bitmap对象。 代
在Android开发中,Intent是一种强大的工具,用于在不同的组件之间传递数据和启动操作。当我们需要在应用程序中调用外部应用,如地图应用,如百度地图或高德地图,Intent是实现这一功能的关键。本篇文章将深入讲解...
4. 在目标Activity中接收参数:在目标Activity的`onCreate(Bundle savedInstanceState)`方法中,使用`getIntent().getExtras()`获取Intent中的数据,然后通过键来获取相应的值。 ```java String value = getIntent...
- Intent中的`ComponentName`属性可以显式指定目标组件的类名,当该属性设置时,系统将直接调用指定组件,忽略其他筛选条件。 #### Action - `Action`字段描述了待执行的具体操作,如`ACTION_MAIN`常用于标识程序...