zoukankan      html  css  js  c++  java
  • 本地广播的简单示例 --Android开发

    1、局部通知管理器LocalBroadcastManager,用于同一个应用中不同组件之间发送广播。由于是在同应用中发送广播,所以使用它安全性、效率也会提高。

    2、本例实现简单的发送本地广播的案例

    点击按钮发送本地广播,提示“收到本地广播”。

    核心代码:

    MainActivity.java:

    public class MainActivity extends AppCompatActivity {

    private IntentFilter filter;
    private LocalReceiver localReceiver;
    private LocalBroadcastManager localBroadcastManager;
    private Button btn_send_local_broadcast;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //创建LocalBroadcastManager(局部通知管理器)对象
    localBroadcastManager = LocalBroadcastManager.getInstance(this);

    btn_send_local_broadcast = (Button) findViewById(R.id.btn_send_local_broadcast);
    //点击按钮发送本地广播
    btn_send_local_broadcast.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    Intent intent = new Intent("com.broadcasttest.LOCAL_BROADCAST");
    localBroadcastManager.sendBroadcast(intent);//发送广播
    }
    });
    //动态注册广播
    filter = new IntentFilter();
    filter.addAction("com.broadcasttest.LOCAL_BROADCAST");
    localReceiver = new LocalReceiver();//创建广播接受者对象
    localBroadcastManager.registerReceiver(localReceiver, filter);//注册
    }

    class LocalReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
    Toast.makeText(context, "收到本地广播", Toast.LENGTH_SHORT).show();
    }
    }

    @Override
    protected void onDestroy() {
    super.onDestroy();
    unregisterReceiver(localReceiver);
    }
    }
  • 相关阅读:
    《游牧者的抉择》读后感 读书笔记
    《白噪音》读后感 读书笔记
    《远大前程》读后感 读书笔记
    《D.H.劳伦斯传》读后感 读书笔记
    《活出心花怒放的人生》读后感 读书笔记
    《三千佛塔烟云下》读后感 读书笔记
    python之第三方模块安装
    python之实现循环查看指定路径下的所有文件---os.walk
    python之递归
    python之MD5加密
  • 原文地址:https://www.cnblogs.com/qikeyishu/p/9218755.html
Copyright © 2011-2022 走看看