1.静态注册
在Manifest文件里写入:
<receiver android:name=".MainActivity$MyBroadcastReceiver" >//注意类名与内部类的名字之间用$符号隔开。
<intent-filter>
<action android:name="android.aaa.bbb" />
</intent-filter>
</receiver>
发送广播:
Intent intent = new Intent();
intent.setAction("android.aaa.bbb");//要和intent-filter里面的action一致。否则将无法接受到广播。
intent.putExtra("name", "qqyumidi");
sendBroadcast(intent);
广播接收者:
public static class MyBroadcastReceiver extends BroadcastReceiver {//必须加static,否则会报错
@Override
public void onReceive(Context context, Intent intent) {
String name = intent.getStringExtra("name");
Log.e("wzl", "name:" + name + " m=" + recLen);
recLen++;
}
}
2.动态注册
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("android.aaa.bbb");
registerReceiver(new MyBroadcastReceiver(), intentFilter);
其他同上