一、定义
Intent是一种在不同组件之间传递的请求消息是应用程序发出的请求和意图。作为一个完整的消息传递机制,Intent不仅需要发送端,还需要接收端。
显式Intent定义:对于明确指出了目标组件名称的Intent,我们称之为显式Intent。
隐式Intent定义:对于没有明确指出目标组件名称的Intent,则称之为隐式Intent。
启动分为:
1、A-->B 不需要B界面返回消息
startactivity(initent);
2、A-->B 需要B界面返回消息
startActivityForResult(intent, requestCode);
例子:
1、利用Intent在Activity之间传递数组
在Main中执行如下代码:
1: Bundle bundle = new Bundle();//一般用intent传递数组和对象是借助bundle
2: bundle.putStringArray("array", myarray);
3: Intent intent = new Intent(MainActivity.this, SecondActivity.class);
4: intent.putExtras(bundle);
5: startActivity(intent);
在SecondActivity中,代码如下:
1: Bundle bundle = this.getIntent().getExtras();
2: String[] myarray= bundle.getStringArray("array");
2、利用Intent在Activity之间传递普通数据(String、boolean、int等基本类型也可以是对象)
在Main中执行如下代码:
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("name");
startActivity(intent);
在SecondActivity中,代码如下:
Intent intent = this.getIntent();
String myarray= intent.getStringExtra("name");
二、常见系统调用的intent
1,调用web浏览器
Java代码
Uri myBlogUri = Uri.parse("http://www.hao123.com");//放入url地址
returnIt = new Intent(Intent.ACTION_VIEW, myBlogUri);
2,地图
Java代码
Uri mapUri = Uri.parse("geo:38.899533,-77.036476");//放入经纬度
returnIt = new Intent(Intent.ACTION_VIEW, mapUri);
3,调拨打电话界面
Java代码
Uri telUri = Uri.parse("tel:100861");
returnIt = new Intent(Intent.ACTION_DIAL, telUri);
4,直接拨打电话
Java代码
Uri callUri = Uri.parse("tel:100861");
returnIt = new Intent(Intent.ACTION_CALL, callUri);
5,卸载
Java代码
Uri uninstallUri = Uri.fromParts("package", "xxx", null);
returnIt = new Intent(Intent.ACTION_DELETE, uninstallUri);
6,安装
Java代码
Uri installUri = Uri.fromParts("package", "xxx", null);
returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri);
7,播放
Java代码
Uri playUri = Uri.parse("file:///sdcard/download/everything.mp3");
returnIt = new Intent(Intent.ACTION_VIEW, playUri);
8,调用发邮件
Java代码
Uri emailUri = Uri.parse("mailto:shenrenkui@gmail.com");
returnIt = new Intent(Intent.ACTION_SENDTO, emailUri);
9,发邮件
Java代码
returnIt = new Intent(Intent.ACTION_SEND);
String[] tos = { "shenrenkui@gmail.com" };
String[] ccs = { "shenrenkui@gmail.com" };
returnIt.putExtra(Intent.EXTRA_EMAIL, tos);
returnIt.putExtra(Intent.EXTRA_CC, ccs);
returnIt.putExtra(Intent.EXTRA_TEXT, "body");
returnIt.putExtra(Intent.EXTRA_SUBJECT, "subject");
returnIt.setType("message/rfc882");
Intent.createChooser(returnIt, "Choose Email Client");
10,发短信
Java代码
Uri smsUri = Uri.parse("tel:100861");
returnIt = new Intent(Intent.ACTION_VIEW, smsUri);
returnIt.putExtra("sms_body", "shenrenkui");
returnIt.setType("vnd.android-dir/mms-sms");
11,直接发邮件
Java代码
Uri smsToUri = Uri.parse("smsto://100861");
returnIt = new Intent(Intent.ACTION_SENDTO, smsToUri);
returnIt.putExtra("sms_body", "shenrenkui");
12,发彩信
Java代码
Uri mmsUri = Uri.parse("content://media/external/images/media/23");
returnIt = new Intent(Intent.ACTION_SEND);
returnIt.putExtra("sms_body", "shenrenkui");
returnIt.putExtra(Intent.EXTRA_STREAM, mmsUri);
returnIt.setType("image/png");
最后startActivity(returnIt)
更多关于 android开发 的文章 更多关于 android_intent 的文章 更多关于 android_Listview 的文章
相关推荐
androidintent详解参照.pdf
Android-Intent详解
在sendBroadcast,startActivity时,我们会用到Intent。 Intent可以携带一些数据,比如基本类型数据int、Boolean,或是String,或是序列化对象,Parcelable与Serializable。 Intent传递数据时,如果数据太大,可能...
Android_Intent详解
android Activity& android Intent详解, 入门级别
Intents and Intent Filters 三种应用程序基本组件——activity, ... 在上述三种情况下, android系统会自己找到合适的activity, service, 或者 broadcast receivers来响应intent. 三者的intent相互独立互不干扰.
android_Intent详解, 关于android中intent的使用有关的东东
Android-Intent详解.doc
ZX-Android-Intent详解 让你更快了解
android intent 生命周期详解和源码
android intent 应用实例详解,很详细的文档
Android+Intent机制实例详解 Android+Intent 大家不得不看啊!
Android+Intent机制实例详解.rar,详细的介绍了,android中的intent知识,可以下载下来看看哟
Android Intent机制实例详解,讲的比较详细,与大家分享,也是想得到积分呵呵。
intent是android 四大应用组件沟通的渠道,在日常编程中使用非常频繁,这么个重要的东东你还不会?赶紧学习学习吧!
android各组件详解- Intent.
Android_Intent和Intent_Filter详解
Android-Intent使用方法详解 配合(http://blog.csdn.net/daiyibo123/article/details/51227160)博客查看。使用Android stdio编写。
Android Intent封装的实例详解 什么是Intent: Intent是协调应用间、组件之间的通讯和交互。通过Intent你可以启动Activity、Service、Broadcasts。更可以跨程序调用第三方组件。例如:启动拨打电话界面、音乐播放等...