在安卓中经常会用到广播,下面给出最一般的方法,以触发回复回复系统出厂设置为例,只接收一个事件而已。
第一步:
1 写一个类继承BroadcastReceiver
2 重写onReceice()方法,
3 判断接收的是你希望接收的android.intent.action.MASTER_CLEAR的事件(例子)
4 如果是做你想要做的事情就ok了
public class MasterclearBroadcast extends BroadcastReceiver {
private Context context ;
public MasterclearBroadcast(Context context )
{
this.context = context;
}
public MasterclearBroadcast()
{
}
@Override
public void onReceive(Context context, Intent intent)
{
String action = intent.getAction();
if(action.equals("android.intent.action.MASTER_CLEAR"))
{
PowerManager.materClear(context);
}
}
}
注意如果你没有构造函数,编译器会为你自动创建一个无参构造函数,但是如果你像我一样,写了有参构造函数,那么你自己实现一个无参构造函数。不然貌似会出点问题,问题啥忘了。
第二步:
在androiManifest,xlm中声明注册你的广播,必须的
<receiver android:name="com.seadee.degree.service.MasterclearBroadcast">
<intent-filter >
<action android:name="android.intent.action.MASTER_CLEAR"/>
</intent-filter>
</receiver>
当然这是静态注册的方法,广播的生命周期和程序相同,当然还有动态注册的方法,且听下回分解。