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);
    }
    }
  • 相关阅读:
    矩阵特征值与特征向量
    拉格朗日插值matlab实现
    CloudCompare 的简单的使用说明
    kreuz-frankfurt-sample-generic-2019-02-08.xodr文件解读
    xml语言
    惯性坐标系
    四分位数及matlab实现
    参考文献类型标识
    matlab产生很多个相同的数字
    linux 中常用的一些头文件
  • 原文地址:https://www.cnblogs.com/qikeyishu/p/9218755.html
Copyright © 2011-2022 走看看