android简单的广播事件处理
registerreceiver 间隔 -回复
![registerreceiver 间隔 -回复](https://img.taocdn.com/s3/m/e329375c974bcf84b9d528ea81c758f5f61f29f8.png)
registerreceiver 间隔-回复什么是registerreceiver,以及它在Android编程中的作用和用法。
在Android开发中,registerReceiver是一个用于注册广播接收器的方法。
广播接收器是Android系统中的一种重要组件,用于接收并响应系统或应用程序发出的广播消息。
通过注册广播接收器,开发者可以在应用程序中捕获各种广播事件,并根据需要做出相应的处理。
registerReceiver方法的语法如下:registerReceiver(BroadcastReceiver receiver, IntentFilter filter)其中,receiver参数是广播接收器,而filter参数是一个IntentFilter对象,用于指定接收的广播类型。
例如,可以通过设置不同的filter实例来注册接收网络状态变化、电池电量变化等系统广播。
实际上,filter可以指定多个广播类型,以实现同时接收多个广播事件。
对于registerReceiver方法而言,除了用于注册系统广播外,还可以注册本地广播。
本地广播是一种更为私密和高效的广播机制,只有同一个应用程序内的其他组件才能触发和接收该广播。
相比之下,系统广播可能会被其他应用程序拦截或处理,因此本地广播更适合用于应用内部的通信。
一旦registerReceiver方法成功注册了广播接收器,接下来就是等待广播事件发生。
一旦有与filter中指定的广播类型相匹配的广播事件发生时,广播接收器就会被自动调用。
在广播接收器内部,可以通过覆写onReceive方法来实现对广播事件的具体响应操作。
不过,需要注意的是,一旦广播事件处理完成,广播接收器会立即进入暂停状态,不再接收后续的广播。
如果需要持续监听某个广播类型,可以通过调用另一个方法unregisterReceiver来取消注册。
当然,不再需要接收广播事件时也应尽早注销广播接收器,以免造成资源浪费。
BroadcastReceiver的用法
![BroadcastReceiver的用法](https://img.taocdn.com/s3/m/f5913bd6ce2f0066f53322a4.png)
BroadcastReceiver(广播接收器)是Android中的四大组件之一。
下面是Android Doc中关于BroadcastReceiver的概述:①广播接收器是一个专注于接收广播通知信息,并做出对应处理的组件。
很多广播是源自于系统代码的──比如,通知时区改变、电池电量低、拍摄了一张照片或者用户改变了语言选项。
应用程序也可以进行广播──比如说,通知其它应用程序一些数据下载完成并处于可用状态。
②应用程序可以拥有任意数量的广播接收器以对所有它感兴趣的通知信息予以响应。
所有的接收器均继承自BroadcastReceiver基类。
③广播接收器没有用户界面。
然而,它们可以启动一个activity来响应它们收到的信息,或者用NotificationManager来通知用户。
通知可以用很多种方式来吸引用户的注意力──闪动背灯、震动、播放声音等等。
一般来说是在状态栏上放一个持久的图标,用户可以打开它并获取消息。
Android中的广播事件有两种,一种就是系统广播事件,比如:ACTION_BOOT_COMPLETED (系统启动完成后触发),ACTION_TIME_CHANGED(系统时间改变时触发),ACTION_BATTERY_LOW(电量低时触发)等等。
另外一种是我们自定义的广播事件。
广播事件的流程①注册广播事件:注册方式有两种,一种是静态注册,就是在AndroidManifest.xml文件中定义,注册的广播接收器必须要继承BroadcastReceiver;另一种是动态注册,是在程序中使用Context.registerReceiver注册,注册的广播接收器相当于一个匿名类。
两种方式都需要IntentFIlter。
②发送广播事件:通过Context.sendBroadcast来发送,由Intent来传递注册时用到的Action。
③接收广播事件:当发送的广播被接收器监听到后,会调用它的onReceive()方法,并将包含消息的Intent对象传给它。
Android中的广播(BroadCast)详细介绍
![Android中的广播(BroadCast)详细介绍](https://img.taocdn.com/s3/m/fcb6eff8988fcc22bcd126fff705cc1755275ff7.png)
Android中的⼴播(BroadCast)详细介绍什么是⼴播在Android中,Broadcast是⼀种⼴泛运⽤的在应⽤程序之间传输信息的机制。
我们拿⼴播电台来做个⽐⽅。
我们平常使⽤收⾳机收⾳是这样的:许许多多不同的⼴播电台通过特定的频率来发送他们的内容,⽽我们⽤户只需要将频率调成和⼴播电台的⼀样就可以收听他们的内容了。
Android中的⼴播机制就和这个差不多的道理。
电台发送的内容是语⾳,⽽在Android中我们要发送的⼴播内容是⼀个Intent。
这个Intent中可以携带我们要传送的数据。
电台通过⼤功率的发射器发送内容,⽽在Android中则是通过sendBroadcast这个⽅法来发送(很形象的名字吧)。
⽤户通过调整到具体的电台频率接受电台的内容。
⽽在Android中要接受⼴播中的内容则是通过注册⼀个BroadCastReceiver 来接收的。
只有发送⼴播的action和接收⼴播的action相同,接受者才能接受这个⼴播。
⼴播有什么⽤其实,在什么是⼴播的第⼀句就已经说明了⼴播有什么⽤了。
对了,笼统⼀点讲就是⽤来传输数据的。
具体⼀点说就是:1.实现了不同的程序之间的数据传输与共享,因为只要是和发送⼴播的action相同的接受者都能接受这个⼴播。
典型的应⽤就是android⾃带的短信,电话等等⼴播,只要我们实现了他们的action的⼴播,那么我们就能接收他们的数据了,以便做出⼀些处理。
⽐如说拦截系统短信,拦截骚扰电话等等 2.起到了⼀个通知的作⽤,⽐如在service中要通知主程序,更新主程序的UI等。
因为service是没有界⾯的,所以不能直接获得主程序中的控件,这样我们就只能在主程序中实现⼀个⼴播接受者专门⽤来接受service发过来的数据和通知了。
实现⼴播现在我们就来实现⼀个简单的⼴播程序。
Android提供了两种注册⼴播接受者的形式,分别是在程序中动态注册和在xml中指定。
他们之间的区别就是作⽤的范围不同,程序动态注册的接收者只在程序运⾏过程中有效,⽽在xml注册的接收者不管你的程序有没有启动有会起作⽤。
adb broadcast 参数
![adb broadcast 参数](https://img.taocdn.com/s3/m/cbd5680486c24028915f804d2b160b4e767f81de.png)
adb broadcast 参数adb broadcast 是一种在Android设备上广播消息的命令行工具。
它可以让开发者向设备发送特定的广播消息,从而触发设备上相应的操作或事件。
本文将详细介绍adb broadcast的用法和参数,并探讨其在Android开发中的应用。
一、adb broadcast的基本用法adb broadcast命令的基本用法为:adb broadcast [-a <action>] [-p <permission>] [-f <filter>] [-n <component>] [-c <category>] [-e <extra_key> <extra_value>...]其中,各个参数的含义如下:-a <action>:指定广播消息的动作,即要发送的广播的类型;-p <permission>:指定广播消息的权限,即只有具备该权限的应用才能接收到广播消息;-f <filter>:指定过滤器,用于筛选接收广播消息的应用;-n <component>:指定接收广播消息的组件,即接收广播消息的应用的包名和类名;-c <category>:指定广播消息的类别,用于进一步筛选接收广播消息的应用;-e <extra_key> <extra_value>...:指定广播消息的附加数据,可以包含多个键值对。
二、adb broadcast的应用场景1. 发送系统广播消息adb broadcast命令可以用于发送系统广播消息,从而触发设备上的系统操作或事件。
例如,可以使用以下命令发送一个开机广播消息:adb broadcast -a android.intent.action.BOOT_COMPLETED2. 调试应用adb broadcast命令可以用于调试应用,特别是在测试广播接收器时非常有用。
Android 事件处理机制
![Android 事件处理机制](https://img.taocdn.com/s3/m/63c72c10f11dc281e53a580216fc700abb68520e.png)
Android 事件处理机制Android 作为一款主流的移动操作系统,拥有强大的事件处理机制,使得开发者可以方便地对用户的操作进行响应和处理。
本文将介绍Android的事件处理机制及其相关的内容。
一、概述Android事件处理机制主要用于检测和响应用户在界面上的各种操作,包括点击、滑动、长按等。
通过灵活运用Android事件处理机制,开发者可以实现丰富多样的用户交互效果,提升应用的用户体验。
二、事件传递1. 事件传递的核心概念- 事件传递分为三个阶段:事件分发、事件拦截、事件处理。
- 事件的传递是从上至下的过程,即从Activity到ViewGroup,再到最终的View。
2. 事件分发- 事件首先会被分发给当前界面的顶层View的dispatchTouchEvent()方法进行处理。
- 顶层View会根据具体的触摸事件类型(DOWN、MOVE、UP、CANCEL)进行相应的处理。
3. 事件拦截- 如果顶层View在处理事件后,认为自己不能完全处理该事件,则会将事件交给子View处理,通过调用子View的dispatchTouchEvent()方法传递事件给子View。
- 子View可以通过重写onInterceptTouchEvent()方法来决定是否拦截事件。
4. 事件处理- 最终,事件会传递到具体的View上,并通过重写onTouchEvent()方法来实现事件的处理。
- View可以根据具体的事件类型(点击、滑动、长按等)执行相应的操作。
三、事件分发机制1. 事件分发的层级关系- Android中的事件分发机制是基于层级关系的,即不同的ViewGroup和View之间存在不同的事件分发机制。
- ViewGroup和View都重写了dispatchTouchEvent()方法,用于对事件进行分发。
2. ViewGroup中的事件分发- ViewGroup会根据具体的事件类型,将事件传递给自己的子View。
如何在Android中正确使用广播接收器
![如何在Android中正确使用广播接收器](https://img.taocdn.com/s3/m/e0087a50876fb84ae45c3b3567ec102de2bddf94.png)
如何在Android中正确使用广播接收器广播接收器是Android中重要的组件之一,可以用于接收和处理广播消息。
它可以用于跨应用程序的信息传递,以及系统事件的监听和处理。
正确使用广播接收器是Android开发中的关键所在,以下将介绍如何在Android中正确使用广播接收器。
一、了解广播接收器的基本概念和原理在Android中,广播接收器用于接收和处理广播消息,广播消息可以是系统内部发出的,也可以是应用程序内部发出的。
广播接收器是一种全局的机制,可以在应用程序中的任何地方注册,用于监听系统事件以及自定义事件。
二、注册广播接收器在Android中,注册广播接收器有两种方式:静态注册和动态注册。
静态注册在AndroidManifest.xml文件中进行,系统会在应用程序启动时自动注册广播接收器;动态注册通过代码的方式在运行时注册,可以更加灵活地控制广播接收器的生命周期。
在Activity或Fragment中动态注册广播接收器的示例代码如下:```public class MyActivity extends AppCompatActivity {private BroadcastReceiver mReceiver;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity_main);mReceiver = new MyBroadcastReceiver();IntentFilter filter = new IntentFilter();filter.addAction("com.example.MY_ACTION");registerReceiver(mReceiver, filter);}@Overrideprotected void onDestroy() {super.onDestroy();unregisterReceiver(mReceiver);}// 自定义广播接收器public class MyBroadcastReceiver extends BroadcastReceiver { @Overridepublic void onReceive(Context context, Intent intent) {// 处理接收到的广播消息}}```三、处理广播消息广播接收器接收到广播消息后,需要进行相应的处理。
broadcastreceiver startactivity -回复
![broadcastreceiver startactivity -回复](https://img.taocdn.com/s3/m/99f948ae6394dd88d0d233d4b14e852458fb3921.png)
broadcastreceiver startactivity -回复在Android中,BroadcastReceiver和startActivity是两个常用的组件和方法,对于开发者来说,深入研究它们的用法和原理是至关重要的。
因此,本文将详细探讨BroadcastReceiver和startActivity的相关内容,通过一步一步的回答来帮助读者理解和应用这两个核心概念。
首先,我们来了解BroadcastReceiver是什么?简而言之,BroadcastReceiver是一种用于接收和处理广播信息的组件。
它可以监听和响应系统广播或自定义广播,以执行相关的操作。
比如,当手机接收到新短信时,可以注册一个BroadcastReceiver来监听系统发出的SMS_RECEIVED广播,并在其接收到广播时触发相应的逻辑。
接下来,我们来探讨如何使用BroadcastReceiver。
首先,需要创建一个继承自BroadcastReceiver的类,并重写其onReceive()方法。
这个方法会在广播事件被接收到时被自动调用。
在onReceive()方法中,我们可以编写逻辑来处理广播事件,比如显示一个通知、启动一个服务或者执行其他操作。
为了使BroadcastReceiver能够接收广播事件,还需要在AndroidManifest.xml文件中进行相应的声明和配置。
在<application>标签下添加一个<receiver>标签,并设置receiver的名称、过滤器和权限等属性。
通过设置过滤器,可以指定BroadcastReceiver要监听的广播类型,以及处理特定类型的广播事件。
除了监听系统广播,我们还可以发送自定义广播来触发BroadcastReceiver。
在应用程序的其他组件中,通过调用sendBroadcast()方法来发送自定义广播,并通过设置Intent的action属性来指定广播的类型。
android广播的用法
![android广播的用法](https://img.taocdn.com/s3/m/cf36e0ad5ff7ba0d4a7302768e9951e79b8969b6.png)
android广播的用法
Android广播是一种用于在应用程序中发送和接收消息的机制。
广播是一种机制,应用程序可以发送广播消息,而其他应用程序可以注册并接收这些广播消息,并根据需要采取相应的操作。
Android广播有两个主要组成部分:广播发送者和广播接收者。
广播发送者:
1. 创建Intent对象,设置广播的标识(Action)和需要传递的
数据(Extras)。
2. 调用广播发送函数sendBroadcast()、sendOrderedBroadcast()
或sendStickyBroadcast()来发送广播。
广播接收者:
1. 创建一个继承自BroadcastReceiver的广播接收器类。
2. 在AndroidManifest.xml文件中注册广播接收器,设置接收
的广播标识(Action)。
3. 重写广播接收器的onReceive()方法,根据接收到的广播进
行相应的处理。
常见的广播使用场景有:
1. 系统广播:例如设备启动、网络状态变化、电量变化等系统事件的广播。
2. 自定义广播:应用程序内部发送自定义的广播,用于不同组件间的通信。
3. 动态注册广播接收器:在代码中动态注册广播接收器,用于灵活地监听特定的广播事件。
4. 静态注册广播接收器:在AndroidManifest.xml文件中静态注册广播接收器,用于在应用程序安装后自动接收广播。
总之,Android广播是一种强大的通信机制,可以用于应用程序内部的组件间通信,以及与系统和其他应用程序的交互。
Android广播大全IntentAction事件详解
![Android广播大全IntentAction事件详解](https://img.taocdn.com/s3/m/a5f0ee43f11dc281e53a580216fc700abb68526a.png)
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广播机制实现原理
![android广播机制实现原理](https://img.taocdn.com/s3/m/8ca3579e294ac850ad02de80d4d8d15abe2300f2.png)
android广播机制实现原理Android广播机制是一种用于组件之间通信的重要机制。
它允许一个组件发送广播消息,而其他组件可以接收这些消息并做出相应的处理。
本文将介绍Android广播机制的实现原理。
我们需要了解广播的基本概念。
广播可以理解为一种事件,它可以被发送到整个系统或特定的组件。
发送广播的组件称为广播发送器,接收广播的组件称为广播接收器。
Android系统内置了一些标准的广播,比如网络变化、电池电量变化等,这些广播可以被系统或应用程序发送,并由其他组件接收。
此外,开发者还可以自定义广播,以满足特定需求。
Android广播机制的实现主要依靠了两个核心组件:广播发送器和广播接收器。
1. 广播发送器:广播发送器是负责发送广播消息的组件。
它通过调用系统提供的广播发送方法来发送广播。
发送广播时,需要指定广播的动作(Action),用于识别广播的类型。
可以通过Intent对象设置广播的动作和其他参数。
一旦广播发送器发送了广播,系统会将广播消息传递给所有注册了相应动作的广播接收器。
2. 广播接收器:广播接收器是负责接收广播消息并做出相应处理的组件。
广播接收器需要在代码中注册,以便系统能够识别并将广播消息传递给它。
注册广播接收器可以通过两种方式:静态注册和动态注册。
- 静态注册:在AndroidManifest.xml文件中声明广播接收器,并指定接收的广播动作。
静态注册的广播接收器会在应用程序安装时被系统注册,无需手动启动即可接收广播。
缺点是无法在运行时动态注册和取消注册。
- 动态注册:通过代码动态注册广播接收器,可以在运行时灵活地注册和取消注册。
动态注册需要在合适的时机手动注册和取消注册,以避免内存泄漏。
动态注册的广播接收器只有在注册后才能接收广播。
广播的传递是通过Android系统的消息机制来完成的。
当广播发送器发送广播时,系统会将广播消息封装成一个Intent对象,并将其加入消息队列中。
然后,系统会按照先进先出的顺序,逐个将消息分发给已注册的广播接收器。
registerreceiver broadcastpermission用法
![registerreceiver broadcastpermission用法](https://img.taocdn.com/s3/m/e4607dfac67da26925c52cc58bd63186bceb92bd.png)
registerreceiver broadcastpermission用法registerReceiver()是Android中用于注册接收广播的类,它可以让应用程序接收到系统发出的各种广播,例如网络状态改变、电池电量低等。
同时,广播也是一种常见的跨进程通信方式,它可以传递数据从一个应用程序到另一个应用程序。
在使用registerReceiver()时,需要先获取一个BroadcastReceiver实例,然后在该实例中注册自己想要接收的广播,以便在收到广播时进行相应的处理。
广播权限是一种重要的权限机制,它用于控制应用程序之间传递广播的行为。
在使用广播时,必须获得相应的权限才能进行广播。
Android系统提供了多种权限类型,如广播权限、文件权限、网络权限等,以便应用程序在不同场景下进行访问和控制。
通过控制广播权限,可以有效地保护用户的数据安全和隐私。
registerReceiver()和broadcastPermission的用法非常简单,下面将详细介绍它们的用法和注意事项。
一、registerReceiver()用法registerReceiver()方法需要传入两个参数:一个是BroadcastReceiver实例,另一个是IntentFilter对象。
IntentFilter对象用于指定应用程序要接收的广播类型和内容。
使用IntentFilter对象可以灵活地指定多个广播类型和内容,例如网络状态改变、电池电量低等。
在使用registerReceiver()时,需要注意以下几点:1. 必须调用abortBroadcast()方法取消广播处理,否则会影响系统性能。
2. 在应用程序退出时,需要调用unregisterReceiver()方法注销广播接收器,否则会导致系统资源浪费。
3. registerReceiver()方法返回一个BroadcastReceiver实例,可以通过该实例获取广播事件并进行处理。
android localbroadcastreceiver 原理
![android localbroadcastreceiver 原理](https://img.taocdn.com/s3/m/093eab8209a1284ac850ad02de80d4d8d05a017f.png)
android localbroadcastreceiver 原理一、概述LocalBroadcastReceiver是Android系统中的一个重要组件,用于接收本地广播的Intent消息,从而实现应用程序之间的通信。
LocalBroadcastReceiver的工作原理是通过系统广播中心,将接收到的Intent消息传递给注册了该BroadcastReceiver的应用程序。
二、工作原理1. 广播中心:Android系统中的广播中心负责接收来自各个应用程序的Intent消息,并根据消息的内容进行分类和传递。
广播中心会将接收到的Intent消息存储在内存中,以便快速传递给注册了BroadcastReceiver的应用程序。
2. 注册与注销:应用程序需要使用Context.registerReceiver()方法注册自己的BroadcastReceiver,以便接收本地广播的Intent消息。
当应用程序不再需要接收广播时,可以使用Context.unregisterReceiver()方法注销BroadcastReceiver。
3. 接收Intent消息:当注册了BroadcastReceiver的应用程序接收到广播中心的Intent消息时,该BroadcastReceiver会被触发执行相应的操作。
BroadcastReceiver可以是一个类,也可以是一个匿名内部类,用于处理接收到的Intent消息。
4. 消息处理:BroadcastReceiver通过onReceive()方法处理接收到的Intent消息。
在该方法中,可以根据Intent的内容执行相应的操作,例如更新UI、发送异步请求等。
三、应用场景LocalBroadcastReceiver在Android应用程序中应用广泛,主要适用于以下场景:1. 应用程序之间的通信:当一个应用程序需要向另一个应用程序发送消息时,可以使用LocalBroadcastReceiver实现。
《Andriod事件处理》课件
![《Andriod事件处理》课件](https://img.taocdn.com/s3/m/670d2b49f68a6529647d27284b73f242326c3169.png)
键盘事件是Android事件处理中重要的一部分,在输入法、游戏等领域得到了广泛的应用。
onKeyDown
用户在按下某个键时触发,可 以监听控制键,如Backspace和 Enter键。
onKeyUp
用户在释放某个键时触发,可 以监听控制键,如Backspace和 Enter键。
onKeyLong Press
最基本的滑动事件
手势事件
手势事件是Android事件处理中的高级技术,了解其原理能够实现更多的用户交互体验。
GestureDetector
实现手势的检测和处理,减少代码冗余。
GestureDetector.O nGestureListener
处理手势事件,为用户提供多元化的交互效果。
键盘事件处理
事件分发
事件分发有明确的层级关系,通过onTouchEvent 方法和GestureDetector类实现拦截和消费。
常见的事件类型
了解常见事件类型,可以提升对用户交互的响应能力,提高应用的用户体验。 • 触摸事件 • 滑动事件 • 手势事件 • 键盘事件
触摸事件
触摸事件是最基本的Android事件,了解其机制可以为UI设计提供更多思路。
用户长按某个键时触发。
总结
Android事件处理是与用户交互的重要部分,其流程包括事件传递、分发、响应三个步骤。在Android应用的开 发中,我们需要深入了解事件处理的机制、结合使用常见的事件类型和手势事件,提升Android应用的用户体 验。
Android事件处理
# Android事件处理交 互的重要部分。
什么是Android事件
Android事件是用户与设备之间的交互,包括手势、触摸和键盘。了解Android事件处理对提升用户体验至关重 要。
Android广播监听机制的两种实现方法
![Android广播监听机制的两种实现方法](https://img.taocdn.com/s3/m/3524cd13a76e58fafab003ec.png)
收 稿 日期 : 2 0 1 3 —0 4 — 2 5 修 稿 日期 : 2 0 1 3 一 o ' 5 —2 5
作者简介 : 周雯( 1 9 8 1 一) , 女, 湖 北 武 汉人 , 硕士 , 研 究 方 向 为 移动 互联 应 用技 术
际开 发 中的 开 发 建 议 。
关键 词 :An d r o i d:广播 机 制
O 引 言
A n d r o i d是 一 种 基 于 L i n u x的 自由及 开 放 源 代 码 的 操 作系统 , 主要 使 用 于 移 动 设 备 . 例 如 智 能 手 机 和平 板 电脑 . 由G o o g l e公 司 和 开 放 手 机联 盟领 导 及 开发 2 0 1 1 年第一季度 . A n d r o i d在 全 球 的市 场 份 额 首 次 超 过 塞 班 系统 . 跃 居 全 球 第 一 2 0 1 2年 l 1 月数据显示 。 A n d r o i d
个 系统 级 别 的事 件 广 播 来 传 递 消 息 我们 也 可 以在 自己的应 用 程序 中开发 B r o a d c a s t R e c e i v e r .然 后 把 广 播 接 收 器 这 个 类 或 者 对 象 注 册 到
占据全球智能手机 操作系统市场 7 6 %的份额 .中 国市
文章编号 : 1 0 0 7 — 1 4 2 3 ( 2 0 1 3 ) 1 6 — 0 0 4 8 — 0 3
D OI : 1 0 . 3 9 6 9  ̄ . i s s n . 1 0 0 7 — 1 4 2 3 . 2 0 1 3 . 1 6 . 0 1 2
adb shell am broadcast 参数
![adb shell am broadcast 参数](https://img.taocdn.com/s3/m/c19596af541810a6f524ccbff121dd36a32dc4b0.png)
adb shell am broadcast 参数在Android开发中,广播(Broadcast)是一种常用的通信方式,它允许应用程序向系统发送通知,以便其他应用程序或组件可以接收并处理这些通知。
使用adb shell am broadcast命令,我们可以向系统发送自定义广播。
一、广播参数详解广播的参数包括广播的类型、接收者的组件名称、数据等。
其中,广播的类型由包名和动作(Action)组成,用于标识不同的广播类型。
接收者的组件名称是指接收广播的应用程序或组件的包名和类名。
数据则是在广播中传递的数据,可以用于传递一些额外的信息。
二、常用广播类型在Android中,常用的广播类型包括:1. 自定义广播:由应用程序自定义的广播类型,通常用于应用程序之间的通信。
2. 静态广播:由系统发送的静态广播,通常用于通知应用程序系统事件(如电量低、存储空间不足等)。
3. 动态广播:由应用程序发送的动态广播,用于传递应用程序之间的数据或指令。
使用adb shell am broadcast命令发送广播,需要指定广播的类型、接收者的组件名称和数据等参数。
命令的基本格式如下:其中,<广播类型>为自定义广播时,需要指定包名和动作;<组件名称>为接收广播的应用程序或组件的包名和类名;<数据>为传递的数据。
例如,如果要向名为com.example.app的应用程序发送一个自定义广播,其中动作为"com.example.action",传递数据"hello world",可以使用以下命令:adb shell am broadcast com.example.app com.example.action hello world四、注意事项在使用adb shell am broadcast命令时,需要注意以下几点:1. 确保已经通过adb连接到了Android设备或模拟器,并成功安装了目标应用程序。
Android通过adbshellambroadcast发送广播参数说明
![Android通过adbshellambroadcast发送广播参数说明](https://img.taocdn.com/s3/m/389b6be80342a8956bec0975f46527d3240ca699.png)
Android通过adbshellambroadcast发送⼴播参数说明通过命令⾏执⾏adb shell am broadcast发送⼴播通知。
adb shell am broadcast 后⾯的参数有:<INTENT> specifications include these flags and arguments:[-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>][-c <CATEGORY> [-c <CATEGORY>] ...][-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...][--esn <EXTRA_KEY> ...][--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...][--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...][--el <EXTRA_KEY> <EXTRA_LONG_VALUE> ...][--ef <EXTRA_KEY> <EXTRA_FLOAT_VALUE> ...][--eu <EXTRA_KEY> <EXTRA_URI_VALUE> ...][--ecn <EXTRA_KEY> <EXTRA_COMPONENT_NAME_VALUE>][--eia <EXTRA_KEY> <EXTRA_INT_VALUE>[,<EXTRA_INT_VALUE...]](mutiple extras passed as Integer[])[--eial <EXTRA_KEY> <EXTRA_INT_VALUE>[,<EXTRA_INT_VALUE...]](mutiple extras passed as List<Integer>)[--ela <EXTRA_KEY> <EXTRA_LONG_VALUE>[,<EXTRA_LONG_VALUE...]](mutiple extras passed as Long[])[--elal <EXTRA_KEY> <EXTRA_LONG_VALUE>[,<EXTRA_LONG_VALUE...]](mutiple extras passed as List<Long>)[--efa <EXTRA_KEY> <EXTRA_FLOAT_VALUE>[,<EXTRA_FLOAT_VALUE...]](mutiple extras passed as Float[])[--efal <EXTRA_KEY> <EXTRA_FLOAT_VALUE>[,<EXTRA_FLOAT_VALUE...]](mutiple extras passed as List<Float>)[--esa <EXTRA_KEY> <EXTRA_STRING_VALUE>[,<EXTRA_STRING_VALUE...]](mutiple extras passed as String[]; to embed a comma into a string,escape it using "\,")[--esal <EXTRA_KEY> <EXTRA_STRING_VALUE>[,<EXTRA_STRING_VALUE...]](mutiple extras passed as List<String>; to embed a comma into a string,escape it using "\,")[--f <FLAG>][--grant-read-uri-permission] [--grant-write-uri-permission][--grant-persistable-uri-permission] [--grant-prefix-uri-permission][--debug-log-resolution] [--exclude-stopped-packages][--include-stopped-packages][--activity-brought-to-front] [--activity-clear-top][--activity-clear-when-task-reset] [--activity-exclude-from-recents][--activity-launched-from-history] [--activity-multiple-task][--activity-no-animation] [--activity-no-history][--activity-no-user-action] [--activity-previous-is-top][--activity-reorder-to-front] [--activity-reset-task-if-needed][--activity-single-top] [--activity-clear-task][--activity-task-on-home][--receiver-registered-only] [--receiver-replace-pending][--receiver-foreground][--selector][<URI> | <PACKAGE> | <COMPONENT>]例1:adb shell am broadcast -a com.android.test --es test_string "this is test string" --ei test_int100 --ez test_boolean true说明:--es 表⽰使⽤字符串类型参数 --ei 表⽰int类型参数 --ez 表⽰boolean类型参数蓝⾊为key,红⾊为alue例2:蓝⾊为key,红⾊为value,分别为String类型,int类型,boolean类型adb shell am broadcast -a android.intent.action.gz.setpoweronoff --eia timeon2019,7,8,17,55 --eia timeoff2019,7,8,17,46 --ez enable true 说明:--eia 表⽰使⽤int[]参数蓝⾊为key,红⾊为value等价于以下java代码Intent intent1 = new Intent("android.intent.action.gz.setpoweronoff");int[] timeon = {2019,7,8,17,55};int[] timeoff= {2019,7,8,17,46};intent.putExtra("timeon", timeon);intent.putExtra("timeoff", timeoff);intent.putExtra("enable",true); //使能开关机功能, 设为false,则为关闭,true为打开sendBroadcast(intent);。
Android广播接实现监听电话状态(电话的状态,拦截)
![Android广播接实现监听电话状态(电话的状态,拦截)](https://img.taocdn.com/s3/m/6874d9d78ad63186bceb19e8b8f67c1cfad6ee95.png)
Android⼴播接实现监听电话状态(电话的状态,拦截)⾸先我们来理解下监听器的机制。
Android的事件处理机制有两种:监听和回调。
A基于监听的事件处理主要涉及三类对象:EventSource(事件源),Event(事件),EventListener(事件监听器)监听机制处理事件的流程图如下(委派式:Delegation):1:需要在AndroidManifest.xml清单中添加权限<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/><uses-permission android:name="android.permission.READ_PHONE_STATE" />2:注册⼴播要注意事件的级别(android中的级别-1000~1000)<receiver android:name=".PhoneBroadcastReceiver"><intent-filter android:priority="1000"><action android:name="android.intent.action.NEW_OUTGOING_CALL"/><action android:name="android.intent.action.PHONE_STATE"/></intent-filter></receiver>详细配置请看 AndroidManifest.xml<manifest xmlns:android="/apk/res/android"package="com.zyw.broadcastsendsms"android:versionCode="1"android:versionName="1.0" ><uses-sdkandroid:minSdkVersion="8"android:targetSdkVersion="15" /><applicationandroid:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ><activityandroid:name=".SendSMS"android:label="@string/title_activity_send_sms" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="UNCHER" /></intent-filter></activity><receiver android:name=".PhoneBroadcastReceiver"><intent-filter android:priority="1000"><action android:name="android.intent.action.NEW_OUTGOING_CALL"/><action android:name="android.intent.action.PHONE_STATE"/></intent-filter></receiver></application><uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/><uses-permission android:name="android.permission.READ_PHONE_STATE" /></manifest>3:编写⼴播的实现类这⾥需要继承BroadcastReceiver 实现onReceive()⽅法程序的源代码如下:package com.zyw.broadcastsendsms;import android.app.Service;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.telephony.TelephonyManager;import android.util.Log;public class PhoneBroadcastReceiver extends BroadcastReceiver {private static final String TAG = "message";private static boolean mIncomingFlag = false;private static String mIncomingNumber = null;@Overridepublic void onReceive(Context context, Intent intent) {// 如果是拨打电话if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) {mIncomingFlag = false;String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);Log.i(TAG, "call OUT:" + phoneNumber);} else {// 如果是来电TelephonyManager tManager = (TelephonyManager) context.getSystemService(Service.TELEPHONY_SERVICE);switch (tManager.getCallState()) {case TelephonyManager.CALL_STATE_RINGING:mIncomingNumber = intent.getStringExtra("incoming_number");Log.i(TAG, "RINGING :" + mIncomingNumber);break;case TelephonyManager.CALL_STATE_OFFHOOK:if (mIncomingFlag) {Log.i(TAG, "incoming ACCEPT :" + mIncomingNumber);}break;case TelephonyManager.CALL_STATE_IDLE:if (mIncomingFlag) {Log.i(TAG, "incoming IDLE");}break;}}}/*@Overridepublic void onReceive(Context context, Intent intent) {String number = getResultData();if("5556".equals(number)){setResultData(null);//挂断}else{number = "12593"+ number; //其他,则加区号setResultData(number);}}*/}以上内容给⼤家介绍了Android⼴播接实现监听电话状态(电话的状态,拦截)的相关知识,希望对⼤家有所帮助!。
android编程 服务开发和广播事件测试与答案
![android编程 服务开发和广播事件测试与答案](https://img.taocdn.com/s3/m/6add79c7af45b307e971979e.png)
一、单选题1、在Android中,Service中的本地服务通过()方法被关闭。
A.onUnbind()B.stopService()C.onStop()D.onDestroy()正确答案:B2、在Android中,用()启动一个本地服务。
A.onBind()B.startService()C.startCommand()D.onCreate()正确答案:B3、在实现广播事件监听器的时候,需要实现()方法。
A.onProcess()B.onBind()C.onClick()D.onReceive()正确答案:D4、Android中系统级的事件消息定义在()类中。
A.BroadcastReceiverB.ActivityC.ServiceD.Intent正确答案:D5、android 关于service生命周期的onCreate()和onStart()说法正确的是?A.当第一次启动的时候先后调用onCreate()和onStart()方法B.如果service已经启动,将先后调用onCreate()和onStart()方法C.当第一次启动的时候只会调用onCreate()方法D.如果service已经启动,只会执行onCreate ()方法正确答案:A6、onPause 什么时候调用?A.当界面启动时B.当界面被隐藏时C.当界面重新显示时D.当 onCreate 方法被执行之后正确答案:D7、在 Activity 的生命周期中,当它从可见状态转向半透明状态时,它的哪个方法必须被调用?A.onStart()B. onPause()C.onRestart()D.onStop()正确答案:B8、关于 BroadcastReceiver 的说法不正确的是?A.一个广播 Intent 只能被一个订阅了此广播的BroadcastReceiver 所接收B.接收者声明的优先级别在的 android:priority 属性中声明,数值越大优先级别越高C.是用来接收广播 Intent 的D.对有序广播,系统会根据接收者声明的优先级别按顺序逐个执行接收者正确答案:A9、在 android 中使用 RadioButton 时,要想实现互斥的选择需要用的组件是?A.ButtonGroupB.RadioGroupC.RadioButtonsD.CheckBox正确答案:B10、下列用以显示一系列图像的是?A. GalleryB.ImageViewC.GridViewD.ImageSwitcher正确答案:A11、下列关于如何使用 Notification,不正确的是?A.使用 NotificationManager 的 notify 方法显示 notification 消息B.Notification 中存在可以清除消息的方法C.notification 需要NotificatinManager 来管理D.在显示 Notification 时可以设置通知时的默认发声,震动等正确答案:B12、Hanlder是线程与Activity通信的桥梁,如果线程处理不当,你的机器就会变得越慢,那么线程销毁的方法是()A.onFinish()B.onDestroy()C.onStop()D.onClear()正确答案:B13、下面关于广播叙述错误的是()A.BroadcastReceiver两种注册方式是,静态注册和动态注册B.广播是是Android四大组件之一C.动态注册需要在应用退出的时候结束广播的注册D.静态注册需要在Mainfest.xml中配置正确答案:B14、关于BroadcastReceiver错误的是()A. 广播分为有序广播和无序广播B.使用abortBroadcast方法可以终端所有广播的传递C.广播方式分为动态和静态D.sendOrderBroadcast用来向系统广播有序事件sendBroadcast是用来广播无序事件正确答案:B。
Android通过adbshellambroadcast发送广播
![Android通过adbshellambroadcast发送广播](https://img.taocdn.com/s3/m/4af4a2c7f9c75fbfc77da26925c52cc58ad69043.png)
Android通过adbshellambroadcast发送广播Android 通过adb shell am broadcast发送广播adb shell am broadcast 后面的参数有:[-a <ACTION>][-d <DATA_URI>][-t <MIME_TYPE>][-c <CATEGORY> [-c <CATEGORY>] ...][-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...][--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...][-e|--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...][-n <COMPONENT>][-f <FLAGS>] [<URI>]例如:adb shell am broadcast -a com.android.test --es test_string"this is test string" --ei test_int 100 --ez test_boolean true说明:蓝色为key,红色为alue,分别为String类型,int类型,boolean类型=============================================================================== ============扩展阅读:db shell am instrument [options] <COMPONENT>作用:启动对instrument实例的监视。
参数[options]:-e <key> <value> // -e选项需要放在-w选项之前作用:提供了以键值对形式存在的测试选项。
pendingintent.getbroadcast的使用方法 -回复
![pendingintent.getbroadcast的使用方法 -回复](https://img.taocdn.com/s3/m/ea30827a5627a5e9856a561252d380eb62942393.png)
pendingintent.getbroadcast的使用方法-回复使用pendingIntent.getBroadcast方法可以创建一个用于发送广播的PendingIntent对象。
广播是一种在Android应用程序中进行组件间通信的机制,通过广播,一个组件可以将事件或者消息发送给其他组件,其他组件可以通过注册相应的广播接收器来接收这些事件或消息。
PendingIntent则是一个待定的意图,可以在将来的某个时刻执行指定的操作。
要使用pendingIntent.getBroadcast方法,需要先创建一个Intent对象,用于指定要发送的广播消息。
Intent对象包含了广播的唯一标识符以及携带的数据,通过设置Intent的action、category、data、type等字段,可以灵活地定制广播的内容。
javaIntent intent = new Intent();intent.setAction("com.example.broadcast.MY_BROADCAST"); intent.putExtra("message", "Hello, World!");接下来,调用pendingIntent.getBroadcast方法创建一个PendingIntent对象。
该方法需要传入四个参数,分别是Context、请求码、Intent的标志位以及PendingIntent的标志位。
javaPendingIntent pendingIntent =PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);在这个例子中,Context是当前上下文对象,请求码是用于标识PendingIntent的唯一整数值,Intent的标志位用于指定新创建PendingIntent的标志,PendingIntent的标志位则用于指定PendingIntent的行为。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
广播事件处理一.Broadcast Receiver比如打电话等等;广播接收器,它和事件处理机制类似,只不过事件处理机制是程序组件级别,而广播事件处理机制是系统级别。
二.使用Broadcast Receiver1.编写类继承BroadcaseReceiver,复写onReceiver()方法2.在AndroidManifest.xml文件中注册BroadcaseReceiver3.构建Intent对象4.调用sendBroadcase()方法发送广播三.BroadcaseReceiver生命周期BroadcastReceiver对象仅在调用onReceive()方法时有效,当该方法执行完毕后,系统认为销毁该对象。
四.标准广播Action五.注册Broadcast Receiver的方法1.在AndroidManifest.xml文件中进行注册//有缺陷,不会因为Activity被销毁而销毁,一般不用<receiver android:name="com.qmk.guangbo.Myguanbo"><intent-filter><action android:name="com.qmk.ACTION"/>//设置广播类型</intent-filter></receiver>这里可以设置action为短信什么的:(需要权限)//短信eceiver android:name="com.qmk.guangbo.Myguanbo"><intent-filter><actionandroid:name=""/></intent-filter></receiver>拍照2.在应用程序的代码中进行注册注册BroadcastReceiverregisterReceiver()取消注册BroadcastReceiverunregisterReceiver()实例1:MainActivity.javapackage com.example.guangbo;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity {private Button btn1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity_main);btn1=(Button)findViewById(R.id.btn1);btn1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent intent=new Intent();//广播也是Intent来传递的intent.setAction("android.provider.Telephony.SMS_RECEIVED");//设置action的值表示广播的类型,(name)sendBroadcast(intent);//把intent传递过来}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}Myguanbo.javapackage com.qmk.guangbo;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.util.Log;public class Myguanbo extends BroadcastReceiver {//写一个类继承BroadcastReceiverprivate static final String TAG = "Myservice";public Secondrecvice(){//复习里面的onReceive方法,可以在这里处理一些我们需要处理的消息//假如这这消息是电话就能获取到电话信息,根据大家的需求在这里面写不同的方法Log.i(TAG, "2Receive");}@Overridepublic void onReceive(Context context, Intent intent) {Log.i(TAG, "onReceive");}}实例2:MainActivity.javapackage com.example.guangbo;import com.qmk.guangbo.Secondrecvice;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.content.IntentFilter;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity {private Button btn1,btn2,btn3;private Secondrecvice rec;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity_main);btn1=(Button)findViewById(R.id.btn1);btn2=(Button)findViewById(R.id.btn2);btn3=(Button)findViewById(R.id.btn3);btn1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent intent=new Intent();//广播也是Intent来传递的intent.setAction("android.provider.Telephony.SMS_RECEIVED");//设置action的值表示广播的类型,(name)sendBroadcast(intent);//把intent传递过来}});btn2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {IntentFilter fitt=new IntentFilter();rec=new Secondrecvice();fitt.addAction("android.provider.Telephony.SMS_RECEIVED");//注册registerReceiver(rec, fitt);//参数1,用来处理广播的receiver;参数2:intentfilter对象}});btn3.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {unregisterReceiver(rec);//注销}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}Myguanbo.javapackage com.qmk.guangbo;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.util.Log;public class Myguanbo extends BroadcastReceiver {//写一个类继承BroadcastReceiverprivate static final String TAG = "Myservice";public Secondrecvice(){//复习里面的onReceive方法,可以在这里处理一些我们需要处理的消息//假如这这消息是电话就能获取到电话信息,根据大家的需求在这里面写不同的方法Log.i(TAG, "2Receive");}@Overridepublic void onReceive(Context context, Intent intent) {Log.i(TAG, "onReceive");}}Secondrecvice.javapackage com.qmk.guangbo;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.util.Log;public class Secondrecvice extends BroadcastReceiver {//写一个类继承BroadcastReceiverprivate static final String TAG = "Myservice";public Secondrecvice(){//复习里面的onReceive方法,可以在这里处理一些我们需要处理的消息//假如这这消息是电话就能获取到电话信息,根据大家的需求在这里面写不同的方法Log.i(TAG, "2Receive");}@Overridepublic void onReceive(Context context, Intent intent) {//不能执行耗时的操作,它只存在1到2秒钟Log.i(TAG, "2onReceive");}}附录1:Android 广播事件 Intent Action 大全1.String ADD_SHORTCUT_ACTION 动作:在系统中添加一个快捷方式。