android中Intent简介

  Intent是什么?

  • Android中提供了Intent机制来协助应用间的交互与通讯,或者采用更准确的说法是,Intent不仅可用于应用程序之间,也可用于应用程序内部的activity, service和broadcast receiver之间的交互。

  • Intent是一种运行时绑定(runtime binding)机制,它能在程序运行的过程中连接两个不同的组件。通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来响应

  • activity、service和broadcast receiver之间是通过Intent进行通信

Android Intent到底能做些什么

如果Activity1需要和Activity2进行联系,二者不需要直接联系,而是通过Intent作为桥梁。通俗来讲,Intent类似于中介,如果这篇文章对你有用,请关注我们的微信公共号AppCode。

Intent到底能做些什么

1. 打开指定的页面

Android Intent到底能做些什么

2. 启动一个服务

Android Intent到底能做些什么

3. 发送广播

Intent intent = new Intent();

intent.setAction("...");

Context.sendBroadcast(intent);

4. 使用系统照相机

  • 简单的拍照并且拿到图片

Android Intent到底能做些什么

  • 调用系统相机应用程序,并存储拍下来的照片

Android Intent到底能做些什么

5. 获取并剪切图片

  • 获取并剪切图片

Android Intent到底能做些什么

  • 剪切特定图片

Android Intent到底能做些什么

6. 打开系统录像机

  • 打开录制视频并保存本地

Android Intent到底能做些什么

  • 选择手机中视频资源

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. 打开指定的网页

Android Intent到底能做些什么

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. 调用系统编辑添加联系人

Android Intent到底能做些什么

13. 打开另一程序

Android Intent到底能做些什么

14. 打开录音机

Intent mi = new Intent(Media.RECORD_SOUND_ACTION);

startActivity(mi);

15. 传递参数

  • 页面之间传递对象

Android Intent到底能做些什么

  • 下个页面获取传递的数据

WeekViewEvent weekEvent = (WeekViewEvent)

intent.getSerializableExtra("WeekEvent");

猜你喜欢

转载自wdz0826.iteye.com/blog/2335019