Android 广播接收器BroadcastReceiver(六)

来源:互联网 发布:p2pipcamera软件下载 编辑:程序博客网 时间:2024/04/28 10:29

前面学到的广播对于应用来说是足够了,但是今天还是要学习一个新的知识点,就是本地广播管理器LocalBroadcastManager。为什么要使用本地广播,是为了安全性的检测。如果你的广播需要附带一些私密的信息,而又不想让其他程序知道。本地广播是最适合不过了。
1.创建广播接收器

public class LocalReceiver extends BroadcastReceiver {    @Override    public void onReceive(Context context, Intent intent) {        // TODO Auto-generated method stub        Log.i("info", "本地广播");    }}

2.主Activity中注册

private IntentFilter mFilter;private LocalReceiver mLocalReceiver;private LocalBroadcastManager mLocalBroadcastManager;@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    mLocalBroadcastManager = LocalBroadcastManager.getInstance(this);    Button button = (Button) findViewById(R.id.button);    button.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View v) {            // TODO Auto-generated method stub            Intent intent = new Intent("com.example.localreceiver.MY_BROAD");            sendBroadcast(intent);        }    });    mFilter = new IntentFilter();    mFilter.addAction("com.example.localreceiver.MY_BROAD");    mLocalReceiver = new LocalReceiver();    mLocalBroadcastManager.registerReceiver(mLocalReceiver, mFilter);}@Overrideprotected void onDestroy() {    // TODO Auto-generated method stub    super.onDestroy();    mLocalBroadcastManager.unregisterReceiver(mLocalReceiver);}

运行程序,点击发送按钮,这样就只有该程序的广播接收器才能收到广播,其他程序的广播接收器是接收不到广播的。

0 0