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);
    }
    }
  • 相关阅读:
    windows下安装mysql教程
    python生成器实现杨辉三角
    python默认参数问题
    python中判断素数的函数
    extract()和extact_first()的区别
    硬连接和软连接的区别
    du与df的区别
    命题逻辑
    关于 better-scroll 设置了以后无法滚动或不生效的问题
    Maven *IDEA*
  • 原文地址:https://www.cnblogs.com/qikeyishu/p/9218755.html
Copyright © 2011-2022 走看看