第一种方式:
实现
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中注册
当然了需要权限:
第二种方式:
// 广播接收者-广播的接收
private BroadcastReceiver myBroadcastReceiver = newBroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
//相关处理,如收短信,监听电量变化信息
}
};
代码中注册:
IntentFilter intentFilter = new IntentFilter("android.provider.Telephony.SMS_RECEIVED ");
registerReceiver(mBatteryInfoReceiver, intentFilter);
例如时间改变:
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_TIME_TICK);
registerReceiver(receiver, intentFilter);
BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if(Intent.ACTION_TIME_TICK.equals(intent.getAction())){ SimpleDateFormat formatter = new SimpleDateFormat ("HH:mm"); Date curDate = new Date(System.currentTimeMillis()); nowTime.setText(formatter.format(curDate)); } } };