一、Broadcast Receiver组件

Android中的广播事件有两种,一种就是系统广播事件,另一种是我们自定义的广播事件。

广播事件的流程

①注册广播事件:注册方式有两种,一种是静态注册,就是在AndroidManifest.xml文件中定义,注册的广播接收器必须要继承BroadcastReceiver;另一种是动态注册,是在程序中使用Context.registerReceiver注册,注册的广播接收器相当于一个匿名类。两种方式都需要IntentFIlter。

②发送广播事件:通过Context.sendBroadcast来发送,由Intent来传递注册时用到的Action。

③接收广播事件:当发送的广播被接收器监听到后,会调用它的onReceive()方法,并将包含消息的Intent对象传给它。onReceive中代码的执行时间不要超过5s,否则Android会弹出超时dialog。

静态注册方式:
1、静态注册方式在AndroidManifest.xml文件中

2、发送广播信息

private static final String STATICACTION = "com.is.static"; //定义一下STATICACTION Log.e("MainActivity", "发送自定义静态注册广播消息");Intent intent = new Intent();intent.setAction(STATICACTION);intent.putExtra("msg", "接收静态注册广播成功!");sendBroadcast(intent);

3、接收广播信息
public class StaticReceiver extends BroadcastReceiver {

@Overridepublic void onReceive(Context context, Intent intent) {String msg = intent.getStringExtra("msg");Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();}

}

动态注册方式

1、动态在MainActivity的onStart方法中注册广播事件。

private static final String DYNAMICACTION = "com.is.dynamic";

@Override
protected void onStart() {
super.onStart();
Log.e(“MainActivity”, “注册广播事件”);
// 注册自定义动态广播消息
IntentFilter filter_dynamic = new IntentFilter();
filter_dynamic.addAction(DYNAMICACTION);
registerReceiver(dynamicReceiver, filter_dynamic); //注册接收器
}

2、发送广播

Log.e("MainActivity", "发送自定义动态注册广播消息");Intent intent = new Intent();intent.setAction(DYNAMICACTION);intent.putExtra("msg", "接收动态注册广播成功!");sendBroadcast(intent);

3、接收广播

private BroadcastReceiver dynamicReceiver = new BroadcastReceiver() {

@Overridepublic void onReceive(Context context, Intent intent) {Log.e("MainActivity", "接收自定义动态注册广播消息");if(intent.getAction().equals(DYNAMICACTION)){String msg = intent.getStringExtra("msg");Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();}}};

二、Android Activity类

onCreate() 这是第一次回调,活动在第一次创建时调用。
onStart() 这个回调被称为活动时变成对用户可见。
onResume() 这就是所谓的启动,当用户与应用程序交互。
onPause() 暂停活动不接收用户输入并不执行任何代码并调用时,当前的活动被暂停,恢复以前的活动。
onStop() 这个回调被称为活动时不再可见
onDestroy() 活动前由系统被销毁,调用此回调
onRestart() 活动重新启动时,停止后调用此回调

三、Android Service 类

描述:Service(服务)是一种在后台运行,执行长时间运行的操作,无需与用户交互的组件。
本质上,一个服务可以采取两种状态:
①Started 当一个应用程序组件,如活动,开始通过调用StartService()启动一个服务。开始以后服务可以无限期地在后台运行,即使启动它的组件被破坏。
②Bound 当一个应用程序组件绑定调用bindService()方法绑定服务。绑定服务提供客户端 - 服务器的接口,允许组件进行交互的服务,发送请求,得到结果,这样可以跨进程进程间通信(IPC)。

startService() ------- onStartCommand() ---- onDestroy()
------------------onCreate()
bindService() -------- onBind() ---- onUnbind() ---- onDestroy()

更多相关文章

  1. Android(安卓)四大组件之一:BroadcastReceiver广播机制
  2. 精通android之Broadcast Receiver
  3. android 之broadcast receiver
  4. Android判断两次输入密码是否相等并且不为空
  5. Android+本地记事本(上)------实现登陆注册
  6. Android入门之四大组件
  7. android 电话状态的监听(来电和去电)
  8. android Service与BroadcastReceiver
  9. Android- 活动(Activity), 服务(Service), 广播(Broadcast), 广

随机推荐

  1. android自定义Toast之-弹出消息
  2. SeekBar的使用和自定义
  3. [置顶] 电源管理之android内核suspend to
  4. android WebView使用cmwap无法联网解决办
  5. Android触摸事件传递机制系列详解
  6. Android进入APP判断引导页是否显示.
  7. android Style 小结
  8. kpush源码解析---android端
  9. Android应用启动白屏问题
  10. android GridLayout。。。