静态注册方式:在AndroidMainfest中注册。
可以让程序在未启动的情况下就能接收到广播。
1.创建广播接收器
右击com.example.broadcasttest包–>New–>Other–>BroadcastReceiver,将广播接收器命名为BootCompletedReceiver,选择Exported和Enable属性。
Exported:表示是否允许这个广播接收本程序以外的广播。
Enable:表示是否启动这个广播接收器。
package com.example.broadcasttest;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
public class BootCompletedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO: This method is called when the BroadcastReceiver is receiving
// an Intent broadcast.
//throw new UnsupportedOperationException("Not yet implemented");
Toast.makeText(context,"The boot completed",Toast.LENGTH_LONG).show();
}
}
2.在AndroidMainfest.xml中注册静态广播
这一步系统自动完成
所有的静态龚波都是在中注册的。
<receiver
android:name=".BootCompletedReceiver"
android:enabled="true"
android:exported="true">
</receiver>
在Android系统启动完成后会发出一条值为android.intent.action.action.BOOT_COMPLETED的广播,故应在标签中添加相应的action。
<receiver
android:name=".BootCompletedReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
3.在标签中声明权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>