intent与ACTION

合集下载

java中intent用法

java中intent用法

java中intent用法在Java中,Intent是一种用于在应用程序组件之间传递消息的对象。

它主要用于在Activity、Service和BroadcastReceiver之间进行通信。

以下是Intent的一些基本用法:1. 创建Intent对象:```javaIntent intent = new Intent();```2. 设置Intent的动作(Action):```javaintent.setAction(Intent.ACTION_VIEW);```3. 设置Intent的数据(Data):```javaUri data = Uri.parse("");intent.setData(data);```4. 启动Activity:```javastartActivity(intent);```5. 启动Service:```javastartService(intent);```6. 发送广播:```javasendBroadcast(intent);```7. 获取返回结果:对于启动Activity和启动Service的情况,可以通过重载的`startActivityForResult()`和`startServiceForResult()`方法来获取返回结果。

例如:```java// 启动Activity并获取返回结果startActivityForResult(intent, REQUEST_CODE);// 启动Service并获取返回结果startServiceForResult(intent, REQUEST_CODE);```然后在`onActivityResult()`或`onServiceResult()`方法中处理返回结果:```java@Overrideprotected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data);if (requestCode == REQUEST_CODE) {// 处理返回结果}}```。

详解Android应用开发中Intent的作用及使用方法

详解Android应用开发中Intent的作用及使用方法

详解Android应⽤开发中Intent的作⽤及使⽤⽅法Intent是⼀种运⾏时绑定(run-time binding)机制,它能在程序运⾏过程中连接两个不同的组件。

通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来完成请求。

⽐如,有⼀个Activity希望打开⽹页浏览器查看某⼀⽹页的内容,那么这个Activity只需要发出WEB_SEARCH_ACTION给Android,Android就会根据Intent的请求内容,查询各组件注册时声明的IntentFilter,找到⽹页浏览器的Activity来浏览⽹页。

Android的三个基本组件——Activity,Service和Broadcast Receiver——都是通过Intent机制激活的,不同类型的组件有不同的传递Intent⽅式:要激活⼀个新的Activity,或者让⼀个现有的Activity做新的操作,可以通过调⽤Context.startActivity()或者Activity.startActivityForResult()⽅法。

要启动⼀个新的Service,或者向⼀个已有的Service传递新的指令,调⽤Context.startService()⽅法或者调⽤Context.bindService()⽅法将调⽤此⽅法的上下⽂对象与Service绑定。

Context.sendBroadcast()、Context.sendOrderBroadcast()、Context.sendStickBroadcast()这三个⽅法可以发送Broadcast Intent。

发送之后,所有已注册的并且拥有与之相匹配IntentFilter的BroadcastReceiver就会被激活。

Intent⼀旦发出,Android都会准确找到相匹配的⼀个或多个Activity,Service或者BroadcastReceiver作响应。

android 常用的intent action整理

android 常用的intent action整理

android 常用的intent action整理Android基本的设计理念是鼓励减少组件间的耦合,因此Android提供了Intent (意图) ,Intent 提供了一种通用的消息系统,它允许在你的应用程序与其它的应用程序间传递Intent来执行动作和产生事件。

Intent作为联系各Activity之间的纽带,其作用并不仅仅只限于简单的数据传递。

通过其自带的属性,其实可以方便的完成很多较为复杂的操作。

例如直接调用拨号功能、处理接收短信,诸如此类,都可以通过设置Intent属性来完成。

Intent主要有以下四个重要属性,它们分别为:Action:Action属性的值为一个字符串,它代表了系统中已经定义了一系列常用的动作。

通过setAction()方法或在清单文件AndroidManifest.xml中设置。

标识Activity为一个程序开始的示例代码(AndroidManifest.xml进行配置)如下:<span style="font-size:16px;"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="UNCHER" /></intent-filter></span>复制代码Data:Data通常是URI格式定义的操作数据。

例如:tel:// 。

通过setData()方法设置。

Category:Category属性用于指定当前动作(Action)被执行的环境。

通过addCategory()方法或在清单文件AndroidManifest.xml中设置。

默认为:CATEGORY_DEFAULT。

Extras:Extras属性主要用于传递目标组件所需要的额外的数据。

iad框架 例子

iad框架 例子

iad框架例子
IAD(Intent-Action-Dialogue)框架是一种用于构建自动对话系统的方法和模型。

它包括三个核心部分:意图识别(Intent)、动作选择(Action)和对话生成(Dialogue)。

下面是一个使用IAD框架构建的自动对话系统的简单例子:
1. 意图识别(Intent):
- 用户输入:"我想订一张从北京到上海的机票"
- 意图识别模块分析用户意图为“订购机票”
2. 动作选择(Action):
- 系统根据用户意图选择合适的动作,比如查询航班信息、获取用户详细信息等。

- 在这个例子中,系统选择查询航班信息的动作。

3. 对话生成(Dialogue):
- 系统向用户提问并生成回复。

- 系统回复:"请问您需要什么时间的机票?"
4. 用户回复:
- 用户输入:"我想出发日期是明天"
5. 意图识别(Intent):
- 同样的方式,模块分析用户意图为“出发日期查询”
6. 动作选择(Action):
- 系统选择根据用户意图查询相关信息的动作。

- 在这个例子中,系统选择查询航班出发日期的动作。

7. 对话生成(Dialogue):
- 系统回复:"您的机票可预订的出发日期有明天和后天,请选择一个日期。

"
以上仅仅是IAD框架的简单例子,实际应用中,还会有更多的意图、动作和对话生成的步骤,并且会应用自然语言处理技术来实现更复杂的对话逻辑。

android intent和intent action大全

android intent和intent action大全

android intent和intent action大全android 中intent是经常要用到的。

不管是页面牵转,还是传递数据,或是调用外部程序,系统功能都要用到intent。

在做了一些intent的例子之后,整理了一下intent。

★intent大全:1.从google搜索内容Intent intent = new Intent();intent.setAction(Intent.ACTION_WEB_SEARCH);intent.putExtra(SearchManager.QUERY,"searchString")startActivity(intent);2.浏览网页Uri uri = Uri.parse("");Intent it = new Intent(Intent.ACTION_VIEW,uri);startActivity(it);3.显示地图Uri uri = Uri.parse("geo:38.899533,-77.036476");Intent it = new Intent(Intent.Action_VIEW,uri);startActivity(it);4.路径规划Uri uri =Uri.parse("/maps?f=dsaddr=startLat%20startLng&daddr=endLa t%20endLng&hl=en");Intent it = new Intent(Intent.ACTION_VIEW,URI);startActivity(it);5.拨打电话Uri uri = Uri.parse("tel:xxxxxx");Intent it = new Intent(Intent.ACTION_DIAL, uri);startActivity(it);6.调用发短信的程序Intent it = new Intent(Intent.ACTION_VIEW);it.putExtra("sms_body", "The SMS text");it.setType("vnd.android-dir/mms-sms");startActivity(it);7.发送短信Uri uri = Uri.parse("smsto:0800000123");Intent it = new Intent(Intent.ACTION_SENDTO, uri);it.putExtra("sms_body", "The SMS text");startActivity(it);String body="this is sms demo";Intent mmsintent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("smsto", number, null));mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body); mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, true);mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, true); startActivity(mmsintent);8.发送彩信Uri uri = Uri.parse("content://media/external/images/media/23");Intent it = new Intent(Intent.ACTION_SEND);it.putExtra("sms_body", "some text");it.putExtra(Intent.EXTRA_STREAM, uri);it.setType("image/png");startActivity(it);StringBuilder sb = new StringBuilder();sb.append("file://");sb.append(fd.getAbsoluteFile());Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mmsto", number, null));// Below extra datas are all optional.intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_SUBJECT, subject);intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body);intent.putExtra(Messaging.KEY_ACTION_SENDTO_CONTENT_URI, sb.toString()); intent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, composeMode); intent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, exitOnSent); startActivity(intent);9.发送EmailUri uri = Uri.parse("mailto:xxx@");Intent it = new Intent(Intent.ACTION_SENDTO, uri);startActivity(it);Intent it = new Intent(Intent.ACTION_SEND);it.putExtra(Intent.EXTRA_EMAIL, "me@");it.putExtra(Intent.EXTRA_TEXT, "The email body text");it.setType("text/plain");startActivity(Intent.createChooser(it, "Choose Email Client"));Intent it=new Intent(Intent.ACTION_SEND);String[] tos={"me@"};String[] ccs={"you@"};it.putExtra(Intent.EXTRA_EMAIL, tos);it.putExtra(Intent.EXTRA_CC, ccs);it.putExtra(Intent.EXTRA_TEXT, "The email body text");it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");it.setType("message/rfc822");startActivity(Intent.createChooser(it, "Choose Email Client"));Intent it = new Intent(Intent.ACTION_SEND);it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");it.putExtra(Intent.EXTRA_STREAM, "[url=]file:///sdcard/mysong.mp3[/url]"); sendIntent.setType("audio/mp3");startActivity(Intent.createChooser(it, "Choose Email Client"));10.播放多媒体Intent it = new Intent(Intent.ACTION_VIEW);Uri uri = Uri.parse("[url=]file:///sdcard/song.mp3[/url]");it.setDataAndType(uri, "audio/mp3");startActivity(it);Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1");Intent it = new Intent(Intent.ACTION_VIEW, uri);startActivity(it);11.uninstall apkUri uri = Uri.fromParts("package", strPackageName, null);Intent it = new Intent(Intent.ACTION_DELETE, uri);startActivity(it);12.install apkUri installUri = Uri.fromParts("package", "xxx", null);returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri);13. 打开照相机<1>Intent i = new Intent(Intent.ACTION_CAMERA_BUTTON, null);this.sendBroadcast(i);<2>long dateTaken = System.currentTimeMillis();String name = createName(dateTaken) + ".jpg";fileName = folder + name;ContentValues values = new ContentValues();values.put(Images.Media.TITLE, fileName);values.put("_data", fileName);values.put(Images.Media.PICASA_ID, fileName);values.put(Images.Media.DISPLAY_NAME, fileName);values.put(Images.Media.DESCRIPTION, fileName);values.put(Images.ImageColumns.BUCKET_DISPLAY_NAME, fileName); Uri photoUri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);Intent inttPhoto = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); inttPhoto.putExtra(MediaStore.EXTRA_OUTPUT, photoUri);startActivityForResult(inttPhoto, 10);14.从gallery选取图片Intent i = new Intent();i.setType("image/*");i.setAction(Intent.ACTION_GET_CONTENT);startActivityForResult(i, 11);15. 打开录音机Intent mi = new Intent(Media.RECORD_SOUND_ACTION);startActivity(mi);16.显示应用详细列表Uri uri = Uri.parse("market://details?id=app_id");Intent it = new Intent(Intent.ACTION_VIEW, uri);startActivity(it);//where app_id is the application ID, find the ID//by clicking on your application on Market home//page, and notice the ID from the address bar刚才找app id未果,结果发现用package name也可以Uri uri = Uri.parse("market://details?id=<packagename>");这个简单多了17寻找应用Uri uri = Uri.parse("market://search?q=pname:pkg_name");Intent it = new Intent(Intent.ACTION_VIEW, uri);startActivity(it);//where pkg_name is the full package path for an application18打开联系人列表<1>Intent i = new Intent();i.setAction(Intent.ACTION_GET_CONTENT);i.setType("vnd.android.cursor.item/phone");startActivityForResult(i, REQUEST_TEXT);<2>Uri uri = Uri.parse("content://contacts/people");Intent it = new Intent(Intent.ACTION_PICK, uri);startActivityForResult(it, REQUEST_TEXT);19 打开另一程序Intent i = new Intent();ComponentName cn = new ComponentName("com.yellowbook.android2", "com.yellowbook.android2.AndroidSearch");i.setComponent(cn);i.setAction("android.intent.action.MAIN");startActivityForResult(i, RESULT_OK);20.调用系统编辑添加联系人(高版本SDK有效):Intent it = new Intent(Intent.ACTION_INSERT_OR_EDIT);it.setType("vnd.android.cursor.item/contact");// it.setType(Contacts.CONTENT_ITEM_TYPE);it.putExtra("name", "myName");it.putExtra(PANY, "organization");it.putExtra(android.provider.Contacts.Intents.Insert.EMAIL, "email");it.putExtra(android.provider.Contacts.Intents.Insert.PHONE,"hom ePhone");it.putExtra( android.provider.Contacts.Intents.Insert.SECONDARY_PHONE,"mobilePhone");it.putExtra( android.provider.Contacts.Intents.Insert.TERTIARY _PHONE,"workPhone");it.putExtra(android.provider.Contacts.Intents.Insert.JOB_TITLE, "title");startActivity(it);21.调用系统编辑添加联系人(全有效):Intent intent = new Intent(Intent.ACTION_INSERT_OR_EDIT);intent.setType(People.CONTENT_ITEM_TYPE);intent.putExtra(, "My Name");intent.putExtra(Contacts.Intents.Insert.PHONE, "+1234567890");intent.putExtra(Contacts.Intents.Insert.PHONE_TYPE,Contacts.PhonesColumns.TYPE_MOBILE);intent.putExtra(Contacts.Intents.Insert.EMAIL, "com@");intent.putExtra(Contacts.Intents.Insert.EMAIL_TYPE, Contacts.ContactMethodsColumns.TYPE_WORK);startActivity(intent);22(更新)//直接打电话出去Uri uri = Uri.parse("tel:0800000123");Intent it = new Intent(Intent.ACTION_CALL, uri);startActivity(it);//用這個,要在 AndroidManifest.xml 中,加上//<uses-permission id="android.permission.CALL_PHONE" />23.最基本的share 信息的intent,可以传一段text信息到各个手机上已安装程序:如SMS,Email,sina微波,米聊,facebook,twitter等等Intent it = new Intent(Intent.ACTION_SEND);it.putExtra(Intent.EXTRA_TEXT, "The email subject text");it.setType("text/plain");startActivity(Intent.createChooser(it, "Choose Email Client"));24.调用skype 的intent方法1:老版,新版不可用,可能是因为skype的activity结构变动:// Intent sky = new Intent("android.intent.action.CALL_PRIVILEGED");// sky.setClassName("com.skype.raider",// "com.skype.raider.contactsync.ContactSkypeOutCallStartActivit y");// sky.setData(Uri.parse("tel:" + phone));// startActivity(sky);方法2:打开到skype的main page:// PackageManager packageManager = getActivity().getPackageManager();// Intent skype =packageManager.getLaunchIntentForPackage("com.skype.raider");// skype.setData(Uri.parse("tel:65465446"));// startActivity(skype);方法3:传入号码,直接进入skype拨号画面并打电话:Intent intent = new Intent("android.intent.action.CALL_PRIVILEGED"); intent.setClassName("com.skype.raider","com.skype.raider.Main");intent.setData(Uri.parse("tel:" + phone));startActivity(intent);★intent action大全:String ADD_SHORTCUT_ACTION 动作:在系统中添加一个快捷方式。

Android广播大全IntentAction事件详解

Android广播大全IntentAction事件详解

Android⼴播⼤全IntentAction事件详解具体内容如下所⽰:Intent.ACTION_AIRPLANE_MODE_CHANGED;//关闭或打开飞⾏模式时的⼴播Intent.ACTION_BATTERY_CHANGED;//充电状态,或者电池的电量发⽣变化//电池的充电状态、电荷级别改变,不能通过组建声明接收这个⼴播,只有通过Context.registerReceiver()注册Intent.ACTION_BATTERY_LOW;//表⽰电池电量低Intent.ACTION_BATTERY_OKAY;//表⽰电池电量充⾜,即从电池电量低变化到饱满时会发出⼴播Intent.ACTION_BOOT_COMPLETED;//在系统启动完成后,这个动作被⼴播⼀次(只有⼀次)。

Intent.ACTION_CAMERA_BUTTON;//按下照相时的拍照按键(硬件按键)时发出的⼴播Intent.ACTION_CLOSE_SYSTEM_DIALOGS;//当屏幕超时进⾏锁屏时,当⽤户按下电源按钮,长按或短按(不管有没跳出话框),进⾏锁屏时,android系统都会⼴播此Action消息Intent.ACTION_CONFIGURATION_CHANGED;//设备当前设置被改变时发出的⼴播(包括的改变:界⾯语⾔,设备⽅向,等,请参考Configuration.java)Intent.ACTION_DATE_CHANGED;//设备⽇期发⽣改变时会发出此⼴播Intent.ACTION_DEVICE_STORAGE_LOW;//设备内存不⾜时发出的⼴播,此⼴播只能由系统使⽤,其它APP不可⽤?Intent.ACTION_DEVICE_STORAGE_OK;//设备内存从不⾜到充⾜时发出的⼴播,此⼴播只能由系统使⽤,其它APP不可⽤?Intent.ACTION_DOCK_EVENT;////发出此⼴播的地⽅frameworks\base\services\java\com\android\server\DockObserver.javaIntent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE;////移动APP完成之后,发出的⼴播(移动是指:APP2SD)Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE;//正在移动APP时,发出的⼴播(移动是指:APP2SD)Intent.ACTION_GTALK_SERVICE_CONNECTED;//Gtalk已建⽴连接时发出的⼴播Intent.ACTION_GTALK_SERVICE_DISCONNECTED;//Gtalk已断开连接时发出的⼴播Intent.ACTION_HEADSET_PLUG;//在⽿机⼝上插⼊⽿机时发出的⼴播Intent.ACTION_INPUT_METHOD_CHANGED;//改变输⼊法时发出的⼴播Intent.ACTION_LOCALE_CHANGED;//设备当前区域设置已更改时发出的⼴播Intent.ACTION_MANAGE_PACKAGE_STORAGE;////未正确移除SD卡(正确移除SD卡的⽅法:设置--SD卡和设备内存--卸载SD卡),但已把SD卡取出来时发出的⼴播//⼴播:扩展介质(扩展卡)已经从 SD 卡插槽拔出,但是挂载点 (mount point) 还没解除 (unmount)Intent.ACTION_MEDIA_BUTTON;//按下"Media Button" 按键时发出的⼴播,假如有"Media Button"按键的话(硬件按键)Intent.ACTION_MEDIA_CHECKING;//插⼊外部储存装置,⽐如SD卡时,系统会检验SD卡,此时发出的⼴播?Intent.ACTION_MEDIA_EJECT;//已拔掉外部⼤容量储存设备发出的⼴播(⽐如SD卡,或移动硬盘),不管有没有正确卸载都会发出此⼴播?//⼴播:⽤户想要移除扩展介质(拔掉扩展卡)。

Android组件系列----Intent详解

Android组件系列----Intent详解

Android组件系列----Intent详解【声明】欢迎转载,但请保留⽂章原始出处→_→【正⽂】Intent组件虽然不是四⼤组件,但却是连接四⼤组件的桥梁,学习好这个知识,也⾮常的重要。

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

Intent这个英语单词的本意是“⽬的、意向、意图”。

Intent是⼀种运⾏时绑定(runtime binding)机制,它能在程序运⾏的过程中连接两个不同的组件。

通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来响应。

activity、service和broadcast receiver之间是通过Intent进⾏通信的,⽽另外⼀个组件Content Provider本⾝就是⼀种通信机制,不需要通过Intent。

我们来看下⾯这个图就知道了:如果Activity1需要和Activity2进⾏联系,⼆者不需要直接联系,⽽是通过Intent作为桥梁。

通俗来讲,Intnet类似于中介、媒婆的⾓⾊。

2、对于向这三种组件发送intent有不同的机制:使⽤Context.startActivity() 或 Activity.startActivityForResult(),传⼊⼀个intent来启动⼀个activity。

使⽤ Activity.setResult(),传⼊⼀个intent来从activity 中返回结果。

将intent对象传给Context.startService()来启动⼀个service或者传消息给⼀个运⾏的service。

将intent对象传给 Context.bindService()来绑定⼀个service。

intent的用法

intent的用法

intent的用法Intent的用法Intent是Android开发中常用的一个类,用于在不同组件之间传递数据和触发操作。

它可以用于在应用内的不同Activity之间进行跳转,也可以用于调用其他应用的组件。

下面将详细介绍Intent的一些常见用法。

创建Intent对象使用Intent类创建一个Intent对象,可以通过构造函数传递参数或使用静态方法创建。

•通过构造函数传递参数:Intent intent = new Intent(context, );其中,context表示当前上下文,TargetActivity表示需要跳转到的目标Activity。

•使用静态方法创建:Intent intent = new Intent();(context, );指定ActionIntent可以使用Action来指定要执行的操作。

Android提供了一些内置的Action,也可以自定义Action。

以下是一些常见的Action 用法:•打开浏览器:Intent intent = new Intent(_VIEW, ("startActivity(intent);•拨打电话:Intent intent = new Intent(_DIAL, ("tel:")); startActivity(intent);•发送短信:Intent intent = new Intent(_SENDTO, ("smsto:")); ("sms_body", "Hello World");startActivity(intent);传递数据Intent可以在不同组件之间传递数据,可以使用putExtra()方法来传递各种类型的数据。

•传递基本类型数据:Intent intent = new Intent(context, );("key", value);startActivity(intent);其中,key表示数据的键,value表示数据的值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在我们曾经介绍的一片关于Android系统架构基本模式解析的文章中,大家可以充分的对这一功能强大的手机系统有一个初步的掌握。

在这里大家可以通过Android本地应用程序的一些介绍更加深入的对这一开源系统进行解读。

Android本地应用程序也使用Intent来启动Activity和子Activity。

下面的列表简单的列出了Intent类中以静态字符串常量保存的本地动作。

你可以在你自己的应用程序里当创建隐式Intent来启动Activity和子Activity时使用这些动作。

? ACTION_ANSWER
打开一个Activity来处理来电。

目前,它是被本地的电话拨号工具处理。

? ACTION_CALL
启动电话拨号工具,并立即用数据URI中的号码初始化一个呼叫。

一般来说,如果可能的话,它认为是比使用Dial_Action好的一种方式。

? ACTION_DELETE
启动一个Activity来让你删除储存在URI位置的数据入口。

? ACTION_DIAL
启动一个电话拨号程序,使用预置在数据URI中的号码来拨号。

默认情况下,它是由Android 本地的电话拨号工具处理。

这个拨号工具能规范多数的号码;举个例子,tel:555-1234和tel:(212)555 1212都是有效的号码。

? ACTION_EDIT
请求一个Activity来编辑URI处的数据。

? ACTION_INSERT
打开一个能在数据域的特定游标处插入新项目的Activity。

当以子Activity方式调用时,它必须返回新插入项目的URI。

? ACTION_PICK
启动一个子Activity来让你从URI数据处挑选一个项目。

当关闭时,它必须返回指向被挑选项目的URI。

启动的Activity取决于要挑选的数据;例如,传入content://contacts/people 会引发本地的联系人列表。

? ACTION_SEARCH
启动一个UI来执行搜索。

在Intent的数据包里使用SearchManager.QUERY键值来提供搜索内容的字符串。

? ACTION_SENDTO
启动一个Activity来给URI中的指定联系人发送一个消息。

? ACTION_SEND
启动一个Activity来发送特定的数据(接收者经由解析Activity来选择)。

使用setType来设置Intent的类型为传输数据的mime类型。

数据本身依赖于类型使用EXTRA_TEXT或EXTRA_STREAM来储存。

在e-mail的情况下,Android本地应用程序还可以接受使用EXTRA_EMAIL, EXTRA_CC, EXTRA_BCC, 和EXTRA_SUBJECT键值的extras。

? ACTION_VIEW
最通用的动作。

View动作要求Intent URI中的数据以最合理的方式显示。

不同的应用程序将处理View请求,依赖于URI中的数据。

一般的,http:地址会在浏览器中打开,tel:地
址会在拨号工具中打开并呼叫号码,geo:地址会在Google地图应用程序中显示,联系人内容会在联系人管理器中显示。

? ACTION_WEB_SEARCH
打开一个Activity,执行基于数据URI中文本的网页搜索。

和这些Activity动作一样,Android本地应用程序还包括大量的Broadcast动作,用来创建Intent将系统消息通知给应用程序。

这些Broadcast动作将在这章稍后部分描述。

相关文档
最新文档