android 常用 INTENT

合集下载

详解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属性主要用于传递目标组件所需要的额外的数据。

解释intent的两种类型举例说明用途

解释intent的两种类型举例说明用途

解释intent的两种类型举例说明用途Intent是Android开发中用于进行组件间通信的一种机制。

它用于在不同的组件之间传递消息,并指示应用程序在某个特定情况下执行特定的操作。

Intent有两种类型:显式Intent和隐式Intent。

1.显式Intent:显式Intent明确指定了要启动的组件的名称,它的目的是启动应用程序中的特定组件(如活动、服务或广播接收器)。

显式Intent是通过给Intent构造函数提供组件的完整类名来创建的。

举例说明用途:假设我们正在编写一个应用程序,它有多个活动,并且需要从一个活动跳转到另一个活动。

我们可以使用显式Intent来实现这个功能。

例如,我们可以在按钮的点击事件处理程序中创建一个显式Intent来启动另一个活动:```java//当按钮被点击时执行此方法public void onButtonClick(View view) {Intent intent = new Intent(this, SecondActivity.class);startActivity(intent);}```在上面的示例中,我们创建了一个显式Intent,并指定了要启动的活动是SecondActivity。

当按钮被点击时,会启动SecondActivity。

2.隐式Intent:隐式Intent没有直接指定要启动的组件的名称,而是通过指定一个操作,一个数据类型或一个类别来描述要执行的动作。

Android系统通过Intent的内容来选择适合执行特定动作的组件。

举例说明用途:假设我们正在开发一个文件管理器应用程序,我们希望在用户点击文件时能够打开适当的应用程序来处理该文件。

我们可以使用隐式Intent来实现这个功能。

例如,我们可以创建一个隐式Intent来打开文本文件:```java//当文本文件被点击时执行此方法public void onFileClick(File file) {Uri uri = Uri.fromFile(file);Intent intent = new Intent(Intent.ACTION_VIEW);intent.setDataAndType(uri, "text/plain");startActivity(intent);}```在上面的示例中,我们创建了一个隐式Intent,并指定了要打开的操作是ACTION_VIEW,数据类型是text/plain。

高级android工程师 面试题

高级android工程师 面试题

高级android工程师面试题在应聘高级Android工程师职位时,面试题是一个不可忽视的重要环节。

面试题的设计旨在考察应聘者对Android开发的深入理解和实际应用能力,同时也能评估应聘者的解决问题的能力和沟通表达能力。

下面将为您提供一些典型的高级Android工程师面试题及其参考答案,希望对您在面试准备过程中有所帮助。

第一题:请描述Android的四大组件以及它们之间的关系。

Android的四大组件包括活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider)。

活动(Activity)是一种用户界面(UI)组件,负责与用户进行交互。

活动之间可通过Intent进行通信,从而实现界面的跳转和数据的传递。

服务(Service)是一种在后台运行的组件,它可执行长时间运行的操作并与其他应用组件通信。

服务可用于处理网络请求、播放音乐等耗时操作,它可以在后台运行而不需要与用户进行直接的交互。

广播接收器(Broadcast Receiver)用于接收系统广播消息,如电池低电量、网络状态变化等。

它可以注册特定的广播消息,一旦接收到相应的广播,就会触发相应的操作。

内容提供器(Content Provider)用于数据的管理和共享,它通过封装数据供其他应用访问,实现不同应用之间的数据共享。

它提供了一套标准的接口,允许应用对数据进行增删改查操作。

这四大组件通过AndroidManifest.xml文件中进行声明和配置,并可以相互关联和通信,共同构建一个完整的应用程序。

第二题:请解释Android中的Intent是什么,并通过举例说明其使用场景。

Intent是Android中一种用于在不同组件之间传递数据和执行操作的对象。

它主要用于实现组件之间的通信和协作。

在Android中,Intent可分为显式Intent和隐式Intent。

常用的Intent大全

常用的Intent大全

Android系统常用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 startLng&daddr=endLat endLng&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_BO DY, body);mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_M ODE, true);mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SEN T, 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_SUBJE CT, 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, "file:///sdcard/mysong.mp3"); sendIntent.setType("audio/mp3");startActivity(Intent.createChooser(it, "Choose Email Client"));10.播放多媒体Intent it = new Intent(Intent.ACTION_VIEW);Uri uri = Uri.parse("file:///sdcard/song.mp3");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);。

android中intent的用法

android中intent的用法

android中intent的用法Intent是Android开发中一个非常重要的概念,它是一种对象,用于在应用程序组件(如Activity、Service、BroadcastReceiver 等)之间传递信息。

通过使用Intent,我们可以启动Activity、传递数据给Service、接收广播等。

下面将详细介绍Intent在Android开发中的用法。

一、Intent的基本用法Intent可以通过AndroidSDK中的Context类的getIntent()方法创建,它可以包含多个Action和数据,用于启动不同的组件。

以下是Intent的基本用法示例:1.启动Activity:```javaIntentintent=newIntent(context,ActivityClass.class);startActivity(intent);```上述代码创建了一个Intent对象,指定了要启动的Activity的类名,并通过startActivity()方法启动该Activity。

2.启动Service:```javaIntentintent=newIntent(context,ServiceClass.class);intent.putExtra("key",value);//传递数据给Servicecontext.startService(intent);```上述代码创建了一个Intent对象,指定了要启动的Service的类名,并通过startService()方法启动该Service,并传递了一些数据给Service。

二、使用Intent传递数据除了启动组件之外,Intent还可以用于在组件之间传递数据。

可以使用putExtra()方法向Intent中添加数据,这些数据可以在另一个组件中使用getIntent()方法获取。

以下是一些传递数据的示例:1.启动Activity并传递数据:```javaIntentintent=newIntent(context,ActivityClass.class);intent.putExtra("key",value);//添加数据到Intent中startActivity(intent);```在另一个Activity中,可以使用getIntent()方法获取Intent,并使用getExtra()方法获取之前添加的数据。

安卓intent用法

安卓intent用法

安卓intent用法Android中的Intent是一种消息传递机制,用于在应用程序中传递信息或执行操作。

Intent可以用于在不同的组件之间启动服务、启动活动或者传递数据。

以下是一些示例用法:1. 启动应用程序组件可以使用Intent启动活动、服务或广播接收器。

例如,启动另一个活动可以使用以下代码:```Intent intent = new Intent(this, AnotherActivity.class); startActivity(intent);```其中,第一个参数是上下文,第二个参数是要启动的活动类。

2. 传递数据可以使用Intent传递数据,例如启动另一个活动,并且传递一些数据。

以下是传递字符串和整数的示例代码:```Intent intent = new Intent(this, AnotherActivity.class); intent.putExtra("message", "Hello World");intent.putExtra("number", 123);startActivity(intent);```在另一个活动中,可以使用以下代码获取所传递的数据:```Intent intent = getIntent();String message = intent.getStringExtra("message");int number = intent.getIntExtra("number", 0);```其中,getStringExtra()和getIntExtra()方法用于获取传递的字符串和整数。

3. 执行操作可以使用Intent执行某些操作,例如发送电子邮件或拨打电话。

以下是启动发送电子邮件的示例代码:```Intent intent = new Intent(Intent.ACTION_SEND);intent.setType("text/plain");intent.putExtra(Intent.EXTRA_EMAIL,"***************"); intent.putExtra(Intent.EXTRA_SUBJECT, "邮件的主题");intent.putExtra(Intent.EXTRA_TEXT, "邮件的正文");startActivity(Intent.createChooser(intent, "选择一个邮箱客户端"));```其中,setType()方法设置发送邮件的类型为纯文本,putExtra()方法设置电子邮件的相关信息,createChooser()方法创建一个选择器来选择邮箱客户端。

intent在android中的用法

intent在android中的用法

intent在android中的用法在Android开发中,Intent是一种用于在应用程序组件之间传递信息的消息对象。

它可以用于启动活动(Activity)、服务(Service)或发送广播(Broadcast)。

以下是Intent在Android 中的几种常见用法:1.启动活动(Starting Activities):使用Intent启动一个新的活动。

例如,从当前活动跳转到另一个活动。

2.传递数据给活动(Passing Data to Activities):通过Intent的putExtra()方法,可以传递基本数据类型、字符串、序列化对象等。

3.返回数据给调用活动(Returning Data to the Calling Activity):使用startActivityForResult()启动新活动,并在新活动中使用setResult()设置返回数据。

4.启动服务(Starting Services):使用Intent启动服务,服务可以在后台执行长时间运行的操作。

5.发送广播(Sending Broadcasts):使用Intent发送广播,所有注册了相应广播接收器的组件都可以接收到广播。

6.隐式意图(Implicit Intents):不指定具体的组件类,而是声明要执行的操作。

系统会选择能够处理该操作的组件。

7.PendingIntent:PendingIntent是一种特殊的Intent,它允许你在稍后的某个时间点执行一个操作,或者由其他应用程序执行。

常用于通知、闹钟等场景。

8.使用Intent过滤器(Intent Filters):在AndroidManifest.xml中,使用<intent-filter>标签来声明活动、服务等可以响应哪些类型的Intent。

这对于定义应用程序的主入口点或响应系统事件非常有用。

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表示数据的值。

android中的用法

android中的用法

android中的用法在Android开发中,Android SDK提供了一系列API和工具,用于创建和管理应用程序。

以下是一些在Android开发中常用的用法:1. Activity:Activity是Android应用程序中的一个基本单元,它是用户可以交互的界面。

一个应用程序可以包含多个Activity,每个Activity负责展示一个用户界面并响应用户的操作。

2. Intent:Intent是Android应用程序中不同组件之间通信的方式。

它可以用来启动一个Activity或传递数据到另一个组件。

通过使用Intent,您可以创建一个显式或隐式启动另一个Activity的请求。

3. Service:Service是Android应用程序中的后台服务,它可以在应用程序的主界面之外运行。

Service可以在后台执行长时间运行的任务,例如播放音乐、从网络下载数据或与远程服务器通信。

4. BroadcastReceiver:BroadcastReceiver是Android应用程序中用于接收系统广播的组件。

系统广播是Android系统发出的通知,例如电池电量低、收到短信或电话等。

通过使用BroadcastReceiver,您可以编写一个监听器来接收这些通知,并在接收到通知时执行相应的操作。

5. SQLite数据库:SQLite是一个轻量级的关系型数据库,它在Android应用程序中广泛使用。

通过使用SQLite数据库,您可以存储和检索应用程序的数据,并在需要时检索这些数据。

6. AndroidManifest.xml:AndroidManifest.xml是Android应用程序的配置文件。

它包含了应用程序的基本信息和配置信息,例如应用程序的名称、版本、权限和活动、服务、广播接收器等组件的声明。

以上是一些在Android开发中常用的用法,当然还有其他许多API 和工具可供使用。

通过使用这些API和工具,您可以创建出功能强大、用户体验良好的Android应用程序。

intent在android中的用法 -回复

intent在android中的用法 -回复

intent在android中的用法-回复在Android开发中,Intent是一个关键的概念,它用于在不同的组件之间进行通信,包括Activity、Service、BroadcastReceiver等。

在本文中,我们将一步一步回答关于Intent在Android中的用法。

第一步:理解Intent的概念Intent是Android中的一个对象,它用于在不同的组件之间传递消息。

可以将Intent看作是一种“意图”,它描述了一个动作,例如启动或停止一个组件,发送或接收一条广播等。

通过Intent,我们可以启动另一个Activity并传递一些数据,启动一个Service执行后台任务,发送一个广播给其他组件等。

第二步:创建和使用Intent要创建一个Intent对象,可以使用以下代码:javaIntent intent = new Intent(context, targetActivity.class);其中,context是当前活动的上下文,targetActivity是我们想要启动的目标Activity。

创建Intent时,可以指定启动目标Activity所需的参数。

要启动另一个Activity,可以使用以下代码:javastartActivity(intent);这将启动目标Activity,并将控制权转移到目标Activity。

第三步:传递数据通过Intent,我们可以在不同的组件之间传递数据。

要传递数据,可以使用以下代码:javaintent.putExtra(key, value);其中,key是一个字符串键,用于标识数据,value是要传递的数据。

在目标Activity中,可以使用以下代码获取传递的数据:javagetIntent().getXXXExtra(key);其中,XXX可以是不同的数据类型,例如getIntExtra()、getStringExtra()等,根据传递的数据类型选择相应的方法。

Intent的各种常见作用

Intent的各种常见作用

Intent的各种常见作⽤1 Intent.ACTION_MAINString: android.intent.action.MAIN标识Activity为⼀个程序的开始。

⽐较常⽤。

Input:nothingOutput:nothing<activity android:name=".Main" android:label="@string/app_name"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="UNCHER" /></intent-filter></activity>2 Intent.Action_CALLStirng: android.intent.action.CALL呼叫指定的电话号码。

Input:电话号码。

数据格式为:tel:+phone numberOutput:NothingIntent intent=new Intent();intent.setAction(Intent.ACTION_CALL);intent.setData(Uri.parse("tel:1320010001");startActivity(intent);3 Intent.Action.DIALString: action.intent.action.DIAL调⽤拨号⾯板Intent intent=new Intent();intent.setAction(Intent.ACTION_DIAL); //android.intent.action.DIALintent.setData(Uri.parse("tel:1320010001");startActivity(intent);Input:电话号码。

Android中的intent

Android中的intent

Android中的intent在你开始与拨号盘交互之前,你需要你理解你要使用的代码类型。

Andriod使用Intent在应用程序中定义工作。

一旦你掌握了Intents的使用,一个全新的应用程序开发世界将会想你敞开。

本节定义了Intent是什么和如何使用它。

一个Intent是Android从一个Activity(活动)传递信息到另外一个活动的方法。

你可以认为一个Intent是一个活动间交换的信息。

例如,假定你有一个活动需要来打开一个网页浏览器并且在Android设备上显示一个页面。

你的活动应当发送一个“在网页浏览器中打开某页的Intent(意图)”,就像一个WEB_SEARCH_ACTION的Intent,一个Android Intent解答器。

Intent解答器从语法上分析一个活动的列表并且选择最匹配你的Intent的一个。

那就是,网页浏览器的活动。

Intent解答器然后传递你的网页到浏览器中并且启动网页浏览器活动。

Intents被分成两个主要目录●Activity Action Intents(活动动作意图)Intents用来呼叫应用程序以外的活动。

只有一个活动可以处理Intent。

例如,对于网页浏览器,你需要打开网页浏览器活动来显示一个页面。

●Broadcast Intents(广播意图)Intents被送出到多个活动来处理。

一个被Android发出的广播意图的例子就是,当前电池的电量。

任何活动处理这个意图并适时的反应。

——例如,如果电池电量低到一定程度,取消一个活动。

表格7-1列出并且描述了通用的,可以使用活动动作意图。

正如你注意到的一样,大多数情况下,从Intent名字可以看出这个Intent是做什么的。

Activity Action Intent MessageADD_SHORTCUT_ACTION增加一个功能快捷菜单到Android的主屏ALL_APPS_ACTION列出设备上可用的所有应用程序ANSWER_ACTION接电话BUG_REPORT_ACTION打开调试报告活动CALL_ACTION呼叫一个提供的位置DELETE_ACTION删除定义的数据DIAL_ACTION打开拨号活动并且拨打一个定义好的号码EDIT_ACTION对有权使用的数据提供编辑拨打一个紧急号码EMERGENCY_DIAL_ACTIONFACTORY_TEST_ACTION回复工厂测试设定GET_CONTENT_ACTION选择并返回定义的数据INSERT_ACTION插入一个空的条目MAIN_ACTION建立一个活动开始点PICK_ACTION挑选一个条目并且返回一个选择PICK_ACTIVITY_ACTION挑选一个特定的活动(返回一个类)RUN_ACTION执行特定的数据SEARCH_ACTION在系统上启动搜索SEND_ACTION发送数据给没有定义的接收者SENDTO_ACTION发送数据到指定的接收者SETTINGS_ACTION启动系统设定SYNC_ACTION和外部的源同步手机VIEW_ACTION(DEFAULT_ACTION)打开一个视图WALLPAPER_SETTINGS_ACTION显示修改Android墙纸的设定WEB_SEARCH_ACTION打开谷歌搜索,或者其它定义过的网页注意本章中的应用程序会用到列在表7-1中的Intents:CALL_ACTION和DIAL_ACTION。

android intent原理

android intent原理

android intent原理在 Android 中,Intent 是一种用于在不同组件 如活动、服务、广播接收器)之间传递消息和执行操作的机制。

Intent 的原理主要包括两个方面:通信和动作。

1.通信:Intent 是在 Android 组件之间进行通信的载体。

它可以用来:•启动组件:比如启动另一个活动 Activity)、启动服务 Service)或发送广播 Broadcast)。

•传递数据:可以携带数据 称为 Extras),这些数据可以是基本类型 如字符串、整数等)或者是复杂的对象,用于在组件之间传递信息。

2.动作:Intent 还可以指定执行的动作,这决定了接收 Intent 的组件应该执行什么样的操作。

动作是通过 Intent 中的 action 字段来定义的,比如:•ACTION_VIEW:用于查看数据,比如打开一个网页或显示图片。

•ACTION_SEND:用于发送数据,比如发送邮件或分享内容。

Intent 的工作原理可以概括为以下几个步骤:1.创建 Intent:通过构造函数创建 Intent 对象,并设置要执行的动作 Action)、要操作的数据 Data)以及其他必要的信息 Extras)。

2.启动目标组件:使用 Intent 启动目标组件 比如启动一个活动、发送广播或启动服务)。

这可以通过startActivity()、startActivityForResult()、sendBroadcast()、startService() 等方法实现。

3.目标组件响应:接收 Intent 的目标组件根据其接收到的 Intent 中的信息执行相应的操作。

比如,活动可以根据收到的 Intent 执行特定的操作,或者服务可以在后台处理接收到的 Intent。

Android 系统会根据 Intent 中的信息找到合适的组件来执行相应的操作。

这个匹配过程可以通过 Intent 中的信息 例如 Action、Category、Data、Type 等)以及清单文件中的声明 例如 <intent-filter> 标签)来确定哪个组件能够最好地处理这个 Intent。

Android系统调用

Android系统调用

android系统调用android 中intent是经常要用到的。

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

在做了一些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 = newIntent(Intent.Action_VIEW,uri);startActivity(it);4.路径规划Uri uri =Uri.parse("/maps?f=dsaddr=startLat%20startLn g&daddr=endLat%20endLng&hl=en");Intent it = newIntent(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 = newIntent(Intent.ACTION_VIEW);it.putExtra("sms_body", "TheSMS text");it.setType("vnd.android-dir/mms-sms");startActivity(it);7.发送短信Uri uri =Uri.parse("smsto:0800000123");Intent it = newIntent(Intent.ACTION_SENDTO, uri);it.putExtra("sms_body", "TheSMS text");startActivity(it);String body="this is sms demo";Intent mmsintent = newIntent(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 = newIntent(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 = newIntent(Intent.ACTION_SENDTO, Uri.fromParts("mmsto", nu mber, 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,composeMod e);intent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT,exitOnSent); startActivity(intent);9.发送EmailUri uri =Uri.parse("mailto:xxx@");Intent it = newIntent(Intent.ACTION_SENDTO, uri);startActivity(it);Intent it = new Intent(Intent.ACTION_SEND);it.putExtra(Intent.EXTRA_EMAIL,"me@");it.putExtra(Intent.EXTRA_TEXT, "Theemail 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, "Theemail body text");it.putExtra(Intent.EXTRA_SUBJECT, "Theemail subject text");it.setType("message/rfc822");startActivity(Intent.createChooser(it,"Choose Email Client"));Intent it = newIntent(Intent.ACTION_SEND);it.putExtra(Intent.EXTRA_SUBJECT, "Theemail subject text");it.putExtra(Intent.EXTRA_STREAM,"file:///sdcard/mysong.mp3"); sendIntent.setType("audio/mp3");startActivity(Intent.createChooser(it,"Choose Email Client"));10.播放多媒体Intent it = new Intent(Intent.ACTION_VIEW);Uri uri =Uri.parse("file:///sdcard/song.mp3");it.setDataAndType(uri,"audio/mp3");startActivity(it);Uri uri =Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_UR I,"1");Intent it = new Intent(Intent.ACTION_VIEW,uri);startActivity(it);11.uninstall apkUri uri =Uri.fromParts("package", strPackageName, null);Intent it = newIntent(Intent.ACTION_DELETE, uri);startActivity(it);12.install apkUri installUri = Uri.fromParts("package","xxx", null);returnIt = newIntent(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, findthe ID//by clicking on your application on Markethome//page, and notice the ID from the addressbar刚才找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 pathfor 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 = newComponentName("com.yellowbook.android2","com.yellowbook.android2.AndroidSearch");i.setComponent(cn);i.setAction("android.intent.action.MAIN");startActivityForResult(i, RESULT_OK);20.调用系统编辑添加联系人(高版本SDK有效):Intent it = newIntent(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, "organ ization");it.putExtra(android.provider.Contacts.Intents.Insert.EMAIL,"email");it.putExtra(android.provider.Contacts.Intents.Insert.PHONE,"homePho ne");it.putExtra(android.provider.Contacts.Intents.Insert.SECONDARY_PHO NE,"mobilePhone");it.putExtra( android.provider.Contacts.Intents.Insert.TERTIARY_PHO NE,"workPhone");it.putExtra(android.provider.Contacts.Intents.Insert.JOB_TITLE,"title");startActivity(it);21.调用系统编辑添加联系人(全有效):Intent intent = newIntent(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.PhonesColu mns.TYPE_MOBILE);intent.putExtra(Contacts.Intents.Insert.EMAIL, "com@");intent.putExtra(Contacts.Intents.Insert.EMAIL_TYPE, Contac ts.ContactMethodsColumns.TYPE_WORK);startActivity(intent);★intent action大全:android.intent.action.ALL_APPSandroid.intent.action.ANSWERandroid.intent.action.ATTACH_DATAandroid.intent.action.BUG_REPORTandroid.intent.action.CALLandroid.intent.action.CALL_BUTTONandroid.intent.action.CHOOSERandroid.intent.action.CREATE_LIVE_FOLDERandroid.intent.action.CREATE_SHORTCUTandroid.intent.action.DELETEandroid.intent.action.DIALandroid.intent.action.EDITandroid.intent.action.GET_CONTENTandroid.intent.action.INSERTandroid.intent.action.INSERT_OR_EDITandroid.intent.action.MAINandroid.intent.action.MEDIA_SEARCHandroid.intent.action.PICKandroid.intent.action.PICK_ACTIVITYandroid.intent.action.RINGTONE_PICKERandroid.intent.action.RUNandroid.intent.action.SEARCHandroid.intent.action.SEARCH_LONG_PRESSandroid.intent.action.SENDandroid.intent.action.SENDTOandroid.intent.action.SET_WALLPAPERandroid.intent.action.SYNCandroid.intent.action.SYSTEM_TUTORIALandroid.intent.action.VIEWandroid.intent.action.VOICE_COMMANDandroid.intent.action.WEB_SEARCH.wifi.PICK_WIFI_NETWORKandroid.settings.AIRPLANE_MODE_SETTINGSandroid.settings.APN_SETTINGSandroid.settings.APPLICATION_DEVELOPMENT_SETTINGS android.settings.APPLICATION_SETTINGSandroid.settings.BLUETOOTH_SETTINGSandroid.settings.DATA_ROAMING_SETTINGSandroid.settings.DATE_SETTINGSandroid.settings.DISPLAY_SETTINGSandroid.settings.INPUT_METHOD_SETTINGS android.settings.INTERNAL_STORAGE_SETTINGS android.settings.LOCALE_SETTINGSandroid.settings.LOCATION_SOURCE_SETTINGS android.settings.MANAGE_APPLICATIONS_SETTINGS android.settings.MEMORY_CARD_SETTINGS WORK_OPERATOR_SETTINGS android.settings.QUICK_LAUNCH_SETTINGS android.settings.SECURITY_SETTINGSandroid.settings.SETTINGSandroid.settings.SOUND_SETTINGSandroid.settings.SYNC_SETTINGSER_DICTIONARY_SETTINGS android.settings.WIFI_IP_SETTINGSandroid.settings.WIFI_SETTINGSandroid.settings.WIRELESS_SETTINGS。

intent方法

intent方法

intent方法Intent是Android应用中的一项非常重要的组件,它被用来启动活动(Activity)、开启服务(Service)、发送广播(Broadcast)、以及运行外部应用等功能。

在Android开发中,我们必须熟练掌握Intent相关的方法,才能编写出高效、稳定的应用。

下面,让我们一步步来介绍Intent的常用方法:1. startActivity()这是Intent中最基础的方法了,用于启动一个新的Activity界面。

调用该方法时,需传入一个Intent对象和一个Context对象,其中Intent对象指定了目标Activity的信息,Context对象则用于给新的Activity和应用上下文进行关联。

例如:```javaIntent intent = new Intent(MainActivity.this,SecondActivity.class);startActivity(intent);```在这个例子中,通过Intent指定了目标Activity是SecondActivity,并使用MainActivity.this作为Context对象。

2. putExtra()这个方法用于向目标Activity传送数据,可以携带多种数据类型,例如int、String、boolean、Serializable对象等。

例如:```javaIntent intent = new Intent(MainActivity.this,SecondActivity.class);intent.putExtra("username", "xiaoming");startActivity(intent);```在这个例子中,我们向目标Activity中传递了一个字符串类型的数据,键名为"username",键值为"xiaoming"。

intent原理及使用实验报告

intent原理及使用实验报告

标题:Intent原理及使用实验报告一、实验目的通过本次实验,我们旨在深入理解Android中的Intent机制,掌握其基本原理和使用方法。

同时,通过实际操作,提高我们的编程技能和问题解决能力。

二、实验原理Intent是Android开发中的核心概念之一,它提供了一种在应用程序组件之间传递信息的方式。

Intent可以用来启动活动(Activity)、服务(Service)和广播接收器(Broadcast Receiver)。

三、实验步骤1. 创建Activity首先,我们创建了两个简单的Activity,分别是MainActivity和SecondActivity。

在MainActivity中,我们放置了一个按钮,当点击这个按钮时,将启动SecondActivity。

2. 使用Intent启动SecondActivity在MainActivity的按钮点击事件中,我们创建了一个Intent对象,并使用startActivity()方法将其启动。

这样,当用户点击按钮时,SecondActivity就会显示出来。

3. 传递数据我们尝试将一些数据从MainActivity传递到SecondActivity。

为此,我们在创建Intent时,使用putExtra()方法将数据添加到Intent中。

在SecondActivity中,我们使用getIntent().getExtras()方法获取这些数据。

4. 返回数据我们还尝试了从SecondActivity返回数据到MainActivity。

为此,我们在SecondActivity的onOptionsItemSelected()方法中创建了一个新的Intent,并使用putExtra()方法添加数据。

然后,我们使用setResult()方法将这个Intent返回给MainActivity。

在MainActivity中,我们重写了onActivityResult()方法来获取返回的数据。

intent用法

intent用法

intent用法- Intent是什么?Intent是Android系统中的一个重要组件,用于在应用程序之间传递消息和数据。

它可以启动一个Activity、Service或者BroadcastReceiver,也可以传递数据给其他组件。

- Intent的分类Intent分为显式Intent和隐式Intent两种。

显式Intent:指定了组件的完整类名,用于启动指定的Activity、Service或者BroadcastReceiver。

隐式Intent:没有指定组件的完整类名,而是通过指定Intent 的Action、Category和Data等属性来匹配系统中已注册的组件。

- Intent的构成Intent由Action、Category、Data、Type、Component和Extras等属性组成。

Action:指定Intent要执行的操作,比如打开一个Activity或者发送一条广播。

Category:指定Intent所属的类别,比如DEFAULT、BROWSABLE 等。

Data:指定Intent要操作的数据,比如打开一个网页或者查找一个联系人。

Type:指定Intent要操作的数据类型,比如文本、图片、音频等。

Component:指定Intent要启动的组件的完整类名。

Extras:携带Intent所需的附加数据,比如传递一个字符串、整数或者对象等。

- Intent的使用场景Intent广泛应用于Android应用程序的各个方面,比如:启动Activity:通过Intent启动一个Activity,让用户进入另一个界面。

启动Service:通过Intent启动一个Service,执行后台任务。

发送Broadcast:通过Intent发送一条广播,让其他组件接收并处理。

启动ActivityForResult:通过Intent启动一个Activity,并等待其返回结果。

- Intent的注意事项使用Intent时需要注意以下几点:Intent的Action、Category和Data等属性需要与组件的Intent Filter匹配才能启动成功。

Android中Broadcast的intent大全

Android中Broadcast的intent大全

Android中Broadcast的intent大全Xml代码1.android.bluetooth.a2dp.intent.action.SINK_STATE_CHANGED2.android.bluetooth.intent.action.BLUETOOTH_STATE_CHANGED3.android.bluetooth.intent.action.BOND_STATE_CHANGED_ACTION4.android.bluetooth.intent.action.DISCOVERY_COMPLETED5.android.bluetooth.intent.action.DISCOVERY_STARTED6.android.bluetooth.intent.action.HEADSET_ADUIO_STATE_CHANGED7.android.bluetooth.intent.action.HEADSET_STATE_CHANGED_CHANGED9.android.bluetooth.intent.action.PAIRING_CANCEL10.android.bluetooth.intent.action.PAIRING_REQUEST11.android.bluetooth.intent.action.REMOTE_DEVICE_CONNECTED12.android.bluetooth.intent.action.REMOTE_DEVICE_DISAPPEARED13.android.bluetooth.intent.action.REMOTE_DEVICE_DISAPPEARED14.android.bluetooth.intent.action.REMOTE_DEVICE_DISCONNECTED15.android.bluetooth.intent.action.REMOTE_DEVICE_DISCONNECT_REQUESTED16.android.bluetooth.intent.action.REMOTE_DEVICE_FOUND17.android.bluetooth.intent.action.REMOTE_NAME_FAILED18.android.bluetooth.intent.action.REMOTE_NAME_UPDATED19.android.bluetooth.intent.action.SCAN_MODE_CHANGED20.android.intent.action.AIRPLANE_MODE21.android.intent.action.BATTERY_CHANGED22.android.intent.action.BATTERY_LOW23.android.intent.action.BOOT_COMPLETED24.android.intent.action.CAMERA_BUTTON25.android.intent.action.CONFIGURATION_CHANGED26.android.intent.action.DATA_SMS_RECEIVED27.android.intent.action.DATE_CHANGED28.android.intent.action.DEVICE_STORAGE_LOW29.android.intent.action.DEVICE_STORAGE_OK30.android.intent.action.GTALK_CONNECTED31.android.intent.action.GTALK_DISCONNECTED32.android.intent.action.HEADSET_PLUG33.android.intent.action.INPUT_METHOD_CHANGED34.android.intent.action.MANAGE_PACKAGE_STORAGE35.android.intent.action.MEDIA_BAD_REMOVAL36.android.intent.action.MEDIA_BUTTON37.android.intent.action.MEDIA_CHECKING38.android.intent.action.MEDIA_EJECT39.android.intent.action.MEDIA_MOUNTED40.android.intent.action.MEDIA_NOFS41.android.intent.action.MEDIA_REMOVED42.android.intent.action.MEDIA_SCANNER_FINISHED43.android.intent.action.MEDIA_SCANNER_SCAN_FILE44.android.intent.action.MEDIA_SCANNER_STARTED45.android.intent.action.MEDIA_SHARED46.android.intent.action.MEDIA_UNMOUNTABLE47.android.intent.action.MEDIA_UNMOUNTED48.android.intent.action.NEW_OUTGOING_CALL49.android.intent.action.PACKAGE_ADDED50.android.intent.action.PACKAGE_CHANGED51.android.intent.action.PACKAGE_DATA_CLEARED52.android.intent.action.PACKAGE_INSTALL53.android.intent.action.PACKAGE_REMOVED54.android.intent.action.PACKAGE_REPLACED55.android.intent.action.PACKAGE_RESTARTED56.android.intent.action.PHONE_STATE57.android.intent.action.PROVIDER_CHANGED58.android.intent.action.REBOOT59.android.intent.action.SCREEN_OFF60.android.intent.action.SCREEN_ON61.android.intent.action.TIMEZONE_CHANGED62.android.intent.action.TIME_SET63.android.intent.action.TIME_TICK64.android.intent.action.UID_REMOVED65.android.intent.action.UMS_CONNECTED66.android.intent.action.UMS_DISCONNECTEDER_PRESENT68.android.intent.action.WALLPAPER_CHANGED69.android.media.AUDIO_BECOMING_NOISY70.android.media.RINGER_MODE_CHANGED71.android.media.VIBRATE_SETTING_CHANGED.conn.BACKGROUND_DATA_SETTING_CHANGEDWORK_IDS_CHANGED.wifi.RSSI_CHANGED.wifi.SCAN_RESULTS.wifi.STATE_CHANGE.wifi.WIFI_STATE_CHANGED.wifi.supplicant.CONNECTION_CHANGE.wifi.supplicant.STATE_CHANGE80.android.provider.Telephony.SIM_FULL81.android.provider.Telephony.SMS_RECEIVED82.android.provider.Telephony.WAP_PUSH_RECEIVED.google.gservices.intent.action.GSERVICES_CHANGEDandroid.bluetooth.a2dp.intent.action.SINK_STATE_CHANGEDandroid.bluetooth.intent.action.BLUETOOTH_STATE_CHANGEDandroid.bluetooth.intent.action.BOND_STATE_CHANGED_ACTION android.bluetooth.intent.action.DISCOVERY_COMPLETEDandroid.bluetooth.intent.action.DISCOVERY_STARTEDandroid.bluetooth.intent.action.HEADSET_ADUIO_STATE_CHANGED android.bluetooth.intent.action.HEADSET_STATE_CHANGED_CHANGEDandroid.bluetooth.intent.action.PAIRING_CANCELandroid.bluetooth.intent.action.PAIRING_REQUESTandroid.bluetooth.intent.action.REMOTE_DEVICE_CONNECTEDandroid.bluetooth.intent.action.REMOTE_DEVICE_DISAPPEARED android.bluetooth.intent.action.REMOTE_DEVICE_DISAPPEARED android.bluetooth.intent.action.REMOTE_DEVICE_DISCONNECTED android.bluetooth.intent.action.REMOTE_DEVICE_DISCONNECT_REQUESTED android.bluetooth.intent.action.REMOTE_DEVICE_FOUNDandroid.bluetooth.intent.action.REMOTE_NAME_FAILEDandroid.bluetooth.intent.action.REMOTE_NAME_UPDATEDandroid.bluetooth.intent.action.SCAN_MODE_CHANGEDandroid.intent.action.AIRPLANE_MODEandroid.intent.action.BATTERY_CHANGEDandroid.intent.action.BATTERY_LOWandroid.intent.action.BOOT_COMPLETEDandroid.intent.action.CAMERA_BUTTONandroid.intent.action.CONFIGURATION_CHANGEDandroid.intent.action.DATA_SMS_RECEIVEDandroid.intent.action.DATE_CHANGEDandroid.intent.action.DEVICE_STORAGE_LOWandroid.intent.action.DEVICE_STORAGE_OKandroid.intent.action.GTALK_CONNECTEDandroid.intent.action.GTALK_DISCONNECTEDandroid.intent.action.HEADSET_PLUGandroid.intent.action.INPUT_METHOD_CHANGEDandroid.intent.action.MANAGE_PACKAGE_STORAGEandroid.intent.action.MEDIA_BAD_REMOVALandroid.intent.action.MEDIA_BUTTONandroid.intent.action.MEDIA_CHECKINGandroid.intent.action.MEDIA_EJECTandroid.intent.action.MEDIA_MOUNTEDandroid.intent.action.MEDIA_NOFSandroid.intent.action.MEDIA_REMOVEDandroid.intent.action.MEDIA_SCANNER_FINISHEDandroid.intent.action.MEDIA_SCANNER_SCAN_FILEandroid.intent.action.MEDIA_SCANNER_STARTEDandroid.intent.action.MEDIA_UNMOUNTABLEandroid.intent.action.MEDIA_UNMOUNTEDandroid.intent.action.NEW_OUTGOING_CALLandroid.intent.action.PACKAGE_ADDEDandroid.intent.action.PACKAGE_CHANGEDandroid.intent.action.PACKAGE_DATA_CLEAREDandroid.intent.action.PACKAGE_INSTALLandroid.intent.action.PACKAGE_REMOVEDandroid.intent.action.PACKAGE_REPLACEDandroid.intent.action.PACKAGE_RESTARTEDandroid.intent.action.PHONE_STATEandroid.intent.action.PROVIDER_CHANGEDandroid.intent.action.REBOOTandroid.intent.action.SCREEN_OFFandroid.intent.action.SCREEN_ONandroid.intent.action.TIMEZONE_CHANGEDandroid.intent.action.TIME_SETandroid.intent.action.TIME_TICKandroid.intent.action.UID_REMOVEDandroid.intent.action.UMS_CONNECTEDandroid.intent.action.UMS_DISCONNECTEDER_PRESENTandroid.intent.action.WALLPAPER_CHANGEDandroid.media.AUDIO_BECOMING_NOISYandroid.media.RINGER_MODE_CHANGEDandroid.media.VIBRATE_SETTING_CHANGED.conn.BACKGROUND_DATA_SETTING_CHANGED WORK_IDS_CHANGED.wifi.RSSI_CHANGED.wifi.SCAN_RESULTS.wifi.STATE_CHANGE.wifi.WIFI_STATE_CHANGED.wifi.supplicant.CONNECTION_CHANGE .wifi.supplicant.STATE_CHANGEandroid.provider.Telephony.SIM_FULLandroid.provider.Telephony.SMS_RECEIVEDandroid.provider.Telephony.WAP_PUSH_RECEIVEDcom.google.gservices.intent.action.GSERVICES_CHANGED Api Level 4增加的:(SDK 1.6)Xml代码1.android.intent.action.ACTION_POWER_CONNECTED2.android.intent.action.ACTION_POWER_DISCONNECTED3.android.intent.action.ACTION_SHUTDOWN5.android.speech.tts.TTS_QUEUE_PROCESSING_COMPLETED6.android.speech.tts.engine.TTS_DATA_INSTALLED.google.gservices.intent.action.GSERVICES_OVERRIDEandroid.intent.action.ACTION_POWER_CONNECTEDandroid.intent.action.ACTION_POWER_DISCONNECTEDandroid.intent.action.ACTION_SHUTDOWNandroid.intent.action.BATTERY_OKAYandroid.speech.tts.TTS_QUEUE_PROCESSING_COMPLETEDandroid.speech.tts.engine.TTS_DATA_INSTALLEDcom.google.gservices.intent.action.GSERVICES_OVERRIDE Api Level 5(SDK 2.0)蓝牙部分全部修改,修改后的Xml代码1.android.bluetooth.a2dp.action.SINK_STATE_CHANGED2.android.bluetooth.adapter.action.DISCOVERY_FINISHED3.android.bluetooth.adapter.action.DISCOVERY_STARTED4.android.bluetooth.adapter.action.LOCAL_NAME_CHANGED5.android.bluetooth.adapter.action.SCAN_MODE_CHANGED6.android.bluetooth.adapter.action.STATE_CHANGED7.android.bluetooth.device.action.ACL_CONNECTED8.android.bluetooth.device.action.ACL_DISCONNECTED9.android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED10.android.bluetooth.device.action.BOND_STATE_CHANGED11.android.bluetooth.device.action.CLASS_CHANGED12.android.bluetooth.device.action.FOUND_CHANGED14.android.bluetooth.devicepicker.action.DEVICE_SELECTEDUNCH16.android.bluetooth.headset.action.AUDIO_STATE_CHANGED17.android.bluetooth.headset.action.STATE_CHANGEDandroid.bluetooth.a2dp.action.SINK_STATE_CHANGEDandroid.bluetooth.adapter.action.DISCOVERY_FINISHEDandroid.bluetooth.adapter.action.DISCOVERY_STARTEDandroid.bluetooth.adapter.action.LOCAL_NAME_CHANGEDandroid.bluetooth.adapter.action.SCAN_MODE_CHANGEDandroid.bluetooth.adapter.action.STATE_CHANGEDandroid.bluetooth.device.action.ACL_CONNECTEDandroid.bluetooth.device.action.ACL_DISCONNECTEDandroid.bluetooth.device.action.ACL_DISCONNECT_REQUESTEDandroid.bluetooth.device.action.BOND_STATE_CHANGEDandroid.bluetooth.device.action.CLASS_CHANGEDandroid.bluetooth.device.action.FOUND_CHANGEDandroid.bluetooth.devicepicker.action.DEVICE_SELECTEDUNCHandroid.bluetooth.headset.action.AUDIO_STATE_CHANGEDandroid.bluetooth.headset.action.STATE_CHANGED 然后增加的有Xml代码1.android.intent.action.DOCK_EVENT2.android.provider.Telephony.SMS_REJECTEDandroid.intent.action.DOCK_EVENTandroid.provider.Telephony.SMS_REJECTED Api Level 6(SDK 2.0.1)没有改变。

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

android 常用INTENTIntentFilter简述:结构化描述intent匹配的信息。

包含:action,categories and data(via type,scheme,path),还有priority,to order multiple matching filters。

IntentFilter中如果action为空,则视为通配符,如果type为空,则intent必须不设type,否则匹配不上。

data被分为3个属性:type,scheme,authority/path 任何设置的属性intent必须匹配上。

设置了scheme 而没设type,则intent也必须类似,不能设置type,也不能是content:URI。

设置了type而没设scheme:将匹配上没有URI的intent,或者content:,file:的uri。

设置了authority:必须指定一个或多个相关联的schemes设置了path:唏嘘指定一个或多个相关联的schemes匹配规则:IntentFilter 匹配Intent的上的条件:Action:值相同,或则IntentFilter未指定action.DataType:系统通过调用Intent.resolve(ContentResolver)获取type,通配符*在Intent/IntentFilter的MIME type中使用,区分大小写DataScheme:系统通过调用Intent. getData() andUri.getScheme())获取scheme, 区分大小写DataAuthority:必须有一个dataScheme匹配上且authority值匹配上,或者IntentFilter没有定义。

Intent. getData() and Uri.getAuthority()获取authority.DataPath: scheme and authority必须先匹配上ntent. getData() and Uri.getPath(),获取. 或者IntentFilter没有定义Categories:all of the categories in the Intent match categories given in the filter 多余的Categorie,不影响intent匹配,如果IntentFilter 没有指定Categorie,则只能匹配上没有Categorie的intent。

常用intent列表:Android Intent 用法汇总显示网页- <activity android:name="BrowserActivity" android:label="Browser"android:launchMode="singleTask" android:alwaysRetainTaskState="true" android:configChanges="orientation|keyboardHidden"android:theme="@style/BrowserTheme">- <!--For these schemes were not particular MIME type has beensupplied, we are a good candidate.-->- <intent-filter><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.DEFAULT" /><category android:name="android.intent.category.BROWSABLE" /><data android:scheme="https" /><data android:scheme="about" /></intent-filter>- <!--For these schemes where any of these particular MIME typeshave been supplied, we are a good candidate.-->- <intent-filter><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.BROWSABLE" /> <category android:name="android.intent.category.DEFAULT" /><data android:scheme="http" /><data android:scheme="https" /><data android:mimeType="text/html" /><data android:mimeType="text/plain" /><data android:mimeType="application/xhtml+xml" /><data android:mimeType="application/vnd.wap.xhtml+xml" /></intent-filter>- <!--We are also the main entry point of the browser.-->- <intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.DEFAULT" /><category android:name="UNCHER" /> <category android:name="android.intent.category.BROWSABLE" /> </intent-filter>- <intent-filter><action android:name="android.intent.action.WEB_SEARCH" /><category android:name="android.intent.category.DEFAULT" /><category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="" /><data android:scheme="https" /></intent-filter>- <intent-filter><action android:name="android.intent.action.WEB_SEARCH" /><action android:name="android.intent.action.MEDIA_SEARCH" /> <category android:name="android.intent.category.DEFAULT" /></intent-filter>- <intent-filter><action android:name="android.intent.action.SEARCH" /><category android:name="android.intent.category.DEFAULT" /></intent-filter><meta-data android:name="android.app.searchable"android:resource="@xml/searchable" />- <intent-filter><action android:name="WORK_STATE" /><action android:name="android.intent.action.PROXY_C HANGE" /> </intent-filter></activity>1. Uri uri = Uri.parse("");2. Intent it = new Intent(Intent.ACTION_VIEW, uri);3. startActivity(it);显示地图1. Uri uri = Uri.parse("geo:38.899533,-77.036476");2. Intent it = new Intent(Intent.ACTION_VIEW, uri);3. startActivity(it);4. //其他geo URI 範例5. //geo:latitude,longitude6. //geo:latitude,longitude?z=zoom7. //geo:0,0?q=my+street+address8. //geo:0,0?q=business+near+city9. //google.streetview:cbll=lat,lng&cbp=1,yaw,,pitch,zoom&mz=mapZoom路径规划1. Uri uri =Uri.parse("/maps?f=d&saddr=startLat%20startLng&daddr =endLat%20endLng&hl=en");2. Intent it = new Intent(Intent.ACTION_VIEW, uri);3. startActivity(it);4. //where startLat, startLng, endLat, endLng are a long with 6 decimals like: 50.123456打电话1. //叫出拨号程序2. Uri uri = Uri.parse("tel:0800000123");3. Intent it = new Intent(Intent.ACTION_DIAL, uri);4. startActivity(it);1. //直接打电话出去2. Uri uri = Uri.parse("tel:0800000123");3. Intent it = new Intent(Intent.ACTION_CALL, uri);4. startActivity(it);5. //用這個,要在AndroidManifest.xml 中,加上6. //<uses-permission id="android.permission.CALL_PHONE" />传送SMS/MMS1. //调用短信程序2. Intent it = new Intent(Intent.ACTION_VIEW, uri);3. it.putExtra("sms_body", "The SMS text");4. it.setType("vnd.android-dir/mms-sms");5. startActivity(it);1. //传送消息2. Uri uri = Uri.parse("smsto://0800000123");3. Intent it = new Intent(Intent.ACTION_SENDTO, uri);4. it.putExtra("sms_body", "The SMS text");5. startActivity(it);1. //传送MMS2. Uri uri = Uri.parse("content://media/external/images/media/23");3. Intent it = new Intent(Intent.ACTION_SEND);4. it.putExtra("sms_body", "some text");5. it.putExtra(Intent.EXTRA_STREAM, uri);6. it.setType("image/png");7. startActivity(it);传送Email1. Uri uri = Uri.parse("mailto:xxx@");2. Intent it = new Intent(Intent.ACTION_SENDTO, uri);3. startActivity(it);1. Intent it = new Intent(Intent.ACTION_SEND);2. it.putExtra(Intent.EXTRA_EMAIL, "me@");3. it.putExtra(Intent.EXTRA_TEXT, "The email body text");4. it.setType("text/plain");5. startActivity(Intent.createChooser(it, "Choose Email Client"));1. Intent it=new Intent(Intent.ACTION_SEND);2. String[] tos={"me@"};3. String[] ccs={"you@"};4. it.putExtra(Intent.EXTRA_EMAIL, tos);5. it.putExtra(Intent.EXTRA_CC, ccs);6. it.putExtra(Intent.EXTRA_TEXT, "The email body text");7. it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");8. it.setType("message/rfc822");9. startActivity(Intent.createChooser(it, "Choose Email Client"));1. //传送附件2. Intent it = new Intent(Intent.ACTION_SEND);3. it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");4. it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/mysong.mp3");5. sendIntent.setType("audio/mp3");6. startActivity(Intent.createChooser(it, "Choose Email Client"));播放多媒体Uri uri = Uri.parse("file:///sdcard/song.mp3");Intent it = new Intent(Intent.ACTION_VIEW, uri);it.setType("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);Market 相关1. //寻找某个应用2. Uri uri = Uri.parse("market://search?q=pname:pkg_name");3. Intent it = new Intent(Intent.ACTION_VIEW, uri);4. startActivity(it);5. //where pkg_name is the full package path for an application1. //显示某个应用的相关信息2. Uri uri = Uri.parse("market://details?id=app_id");3. Intent it = new Intent(Intent.ACTION_VIEW, uri);4. startActivity(it);5. //where app_id is the application ID, find the ID6. //by clicking on your application on Market home7. //page, and notice the ID from the address barUninstall 应用程序1. Uri uri = Uri.fromParts("package", strPackageName, null);2. Intent it = new Intent(Intent.ACTION_DELETE, uri);3. startActivity(it);。

相关文档
最新文档