靜態(tài)注冊(cè)
在AndroidManifest.xml文件中進(jìn)行注冊(cè),當(dāng)APP退出后,Receiver仍然可以接收到廣播并且進(jìn)行相應(yīng)的處理。
在application標(biāo)簽下注冊(cè)
<receiver android:name=".BootCompleteReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
動(dòng)態(tài)注冊(cè)
在代碼中注冊(cè),當(dāng)APP退出后就沒辦法在接收廣播。
public class MainActivity extends Activity {
private IntentFilter intentFilter;
private NetworkChangeReceiver networkChangeReceiver;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
intentFilter = new IntentFilter();
intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
networkChangeReceiver = new NetworkChangeReceiver();
registerReceiver(networkChangeReceiver, intentFilter);
}
@Override
protected void onDestroy(){
super.onDestroy();
unregisterReceiver(networkChangeReceiver);
}
class NetworkChangeReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent, intent){
//接收廣播后的處理
...
}
}
}