BroadCastReceiver 的机制java
1. 机制
android
在 Android 里面有各类各样的广播,好比电池的使用状态,电话的接收和短信的接收都会产生一个广播,应用程序开发者也能够监听这些广播并作出程序逻辑的处理。web
public class MyBroadcastReceiver extends BroadcastReceiver { // action 名称 String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED" ; public void onReceive(Context context, Intent intent) { if (intent.getAction().equals( SMS_RECEIVED )) { // 相关处理 : 地域变换、电量不足、来电来信; } } }
系统注册:在 AndroidManifest.xml 中注册ide
< receiver android:name = ".MyBroadcastReceiver" > < intent-filter android:priority = "1000" > < action android:name = " android.provider.Telephony.SMS_RECEIVED" />
固然了须要权限 :spa
< uses-permission android:name = "android.permission.RECEIVE_SMS" /> < uses-permission android:name = "android.permission.SEND_SMS" />
第二种方式:
// 广播接收者 - 广播的接收code
private BroadcastReceiver myBroadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { // 相关处理,如收短信,监听电量变化信息 } };
代码中注册:orm
IntentFilter intentFilter = new IntentFilter( "android.provider.Telephony.SMS_RECEIVED " ); registerReceiver( mBatteryInfoReceiver , intentFilter);