LocalBroadcastManager的使用总结
来源:互联网 发布:中国联通无线上网 mac 编辑:程序博客网 时间:2024/05/19 17:06
前言:
LocalBroadcastManager有助于在应用内去注册和发送广播,相比于通过sendBroadcast(Intent)去发送的全局广播,LocalBroadcastManager有如下几点优势:
1>
你广播的数据不会离开你的应用程序,所以不需要担心泄漏的私人数据。
2>
其他应用通过LocalBroadcastManager发送的广播,其是不可能发送到你的app的,所以你不用担心安全漏洞问题。
3>
它比系统发送一个全局广播更有效
代码示例如下:
package com.example.administrator.testlocalbroadcastreceiver;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.support.v4.content.LocalBroadcastManager;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Toast;public class LocalBroadcast extends AppCompatActivity { private LocalBroadcastManager localBroadcastManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_local_broadcast); localBroadcastManager = LocalBroadcastManager.getInstance(this); /**** * 注册及侦听广播 * **/ IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction("test"); localBroadcastManager.registerReceiver(new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { Toast.makeText(LocalBroadcast.this,"已接收到广播",Toast.LENGTH_SHORT).show(); } },intentFilter); } /*** * 发送广播 * **/ public void sendBroadcast(View view){ Intent intent = new Intent(); intent.setAction("test"); localBroadcastManager.sendBroadcast(intent); }}
对应的布局文件如下:
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.administrator.testlocalbroadcastreceiver.LocalBroadcast"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="发送广播" android:onClick="sendBroadcast" /></RelativeLayout>
运行效果如下:
总结:
若广播的发送和接收都只用在本应用中,那么推荐使用LocalBroadcastManager进行广播的发送和注册
源码:
LocalBroadcastManager的代码示例源码
0 0
- LocalBroadcastManager的使用总结
- Android LocalBroadcastManager 的使用总结
- Android LocalBroadcastManager 的使用总结
- Android LocalBroadCastManager 使用总结
- LocalBroadcastManager的使用
- LocalBroadcastManager 的使用
- android LocalBroadcastManager的使用
- LocalBroadcastManager的使用
- android中LocalBroadcastManager的使用
- Android中LocalBroadcastManager的使用
- 本地广播LocalBroadcastManager的使用
- 使用LocalBroadcastManager
- 使用LocalBroadcastManager
- 使用LocalBroadcastManager
- 使用LocalBroadcastManager
- 使用LocalBroadcastManager
- 使用LocalBroadcastManager
- 使用LocalBroadcastManager
- 安卓fragment跳转activity,fragment跳转fragment,activity跳转fragment
- NodeJs常用链接整理
- 项目编码批量转换工具
- Largest Number
- HackerRank Fibonacci Modified
- LocalBroadcastManager的使用总结
- JAVA 生成二维码
- HackerRank Breadth First Search: Shortest Reach
- mysql 主从复制配置
- 音乐播放器——SoundManager API介绍
- leveldb源码阅读知识积累2
- C++学习方法与心得
- Apache web服务器安全加固
- 总结这一年多的时间