博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
本地广播
阅读量:4610 次
发布时间:2019-06-09

本文共 1628 字,大约阅读时间需要 5 分钟。

一、概念

  系统广播可以被其他任何的应用程序接收到,同时也可以接受到其他任何应用程序发出的广播,存在一定的安全性问题。

  本地广播只能在应用程序内部传递,广播接收器也只能接受来自本应用程序发出的广播。

二、本地广播用法

  本地广播使用LocalBroadcastManager进行管理。本地广播无法通过静态注册的方式来接受。

  public class MainActivity extends Activity {

    private IntentFilter intentFilter;
    private LocalReceiver localReceiver;
    private LocalBroadcastManager localBroadcastManager;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      localBroadcastManager = LocalBroadcastManager.getInstance(this);
      // 获取实例
      Button button = (Button) findViewById(R.id.button);
      button.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
          Intent intent = new Intent("com.example.broadcasttest.LOCAL_BROADCAST");
          localBroadcastManager.sendBroadcast(intent); // 发送本地广播
        }
      });
      intentFilter = new IntentFilter();
      intentFilter.addAction("com.example.broadcasttest.LOCAL_BROADCAST");
      localReceiver = new LocalReceiver();
      localBroadcastManager.registerReceiver(localReceiver, intentFilter);
      // 注册本地广播监听器
      }
      @Override
      protected void onDestroy() {
      super.onDestroy();

      localBroadcastManager.unregisterReceiver(localReceiver);

    }
    class LocalReceiver extends BroadcastReceiver {
    @Override
      public void onReceive(Context context, Intent intent) {
        Toast.makeText(context, "received local broadcast",
        Toast.LENGTH_SHORT).show();
      }
    }
  }

 

转载于:https://www.cnblogs.com/llxbl/p/6186884.html

你可能感兴趣的文章
3-05函数-关键参数
查看>>
实现jQuery扩展总结
查看>>
ssh免密钥登录一例问题
查看>>
[转]Android安装卸载Apk的接口
查看>>
Shell父进程获取子进程的变量值
查看>>
Sublime Text 2/3中Autoprefixer失效解决方法
查看>>
Python 通过lxml 解析html页面自动组合xpath实例
查看>>
Linux0.11内核之旅3——main.c(1)
查看>>
bWAPP练习--injection篇之HTML Injection - Reflected (POST)
查看>>
图实践经典问题一览
查看>>
Java将List<T>集合组装成树(Tree)树结构组装
查看>>
javaEE 之JSon
查看>>
Python多进程操作同一个文件,文件锁问题
查看>>
BOM——检测浏览器
查看>>
JavaScript 进阶(一)JS的"多线程"
查看>>
zabbix3.2 install
查看>>
Hanoi塔问题——递归
查看>>
c++11之函数式编程实例
查看>>
BZOJ 3038 线段树
查看>>
两个数据库中相同表的Update操作
查看>>