在写BroadcastReceiver之前先讨论一下Intent的用法。
Intent的作用有启动自身或其他应用中的Activity,开启广播和服务。Intent有显式和隐式之分。
其构造函数有两种类型:public Intent(Content packageContext,class<?>cls),参数常为this/context,className.class。这样我们通过startActivity(intent)/startActivity(intent,requsetCode)来启动其它的Activity。
public Intent(String action);public Intent(String action,Uri uri);
这是隐式的Intent。Intent是对操作的一种抽象。隐式的Intent并没有指定要启动的Activity是哪一个,而是需要那些想接收
该Intent的Activity在AndroidManifest.xml文件的Activity标签下注册该action。
格式是:<intent-filter>
<action android:name="android.intent.action.xxx"/>
</intent-filter>
这样在startActivity(intent)后就会启动配置该action的Activity了。
对于系统中提供的Activity Action和自定义的Activity Action的使用方法是一样的。
下面就总结一下BroadcastReceiver的一些知识。
广播接收器BroadcastReceiver的作用就像她名字的含义一样,当在某些特定的时刻或情况下,发送一个广播来通知某些事情,收到广播后在其onReceive函数中进行处理,她不像Service那样的持续性。所以她的使用过程就是:
1.编写一个广播接收器类,该类继承自android.content.BroadcastReceiver,实现其onReceive函数
2.在AndroidManifest.xml中使用<receiver>标签来指定可接收的Broadcast Action,也可以在代码中使用Intentfilter动态添加。
我们可以使用sendBroadcast(Intent(action))来发送广播。