android温故知新-----android 本地广播实例(LocalBroadcastManager)
来源:互联网 发布:淘宝客api申请 编辑:程序博客网 时间:2024/05/17 02:42
特点:
1.能够防止其他app接收到广播消息获取敏感数据,确保数据安全。
2.只能在代码中使用动态注册的方式,
java代码
public class MainActivity extends AppCompatActivity { private LocalBroadcastManager mLocalBroadcastManager; private BroadcastReceiver mBroadcastReceiver; private TextView txtv; private Button btn; private final String STR = "Str"; private final String TESTACTION = "com.intent.localbroadcast.test.action"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn = (Button) findViewById(R.id.btn); txtv = (TextView) findViewById(R.id.txtv); mLocalBroadcastManager = LocalBroadcastManager.getInstance(this); mBroadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String str = intent.getStringExtra(STR); txtv.setText(str); } }; IntentFilter intentFilter = new IntentFilter(TESTACTION); mLocalBroadcastManager.registerReceiver(mBroadcastReceiver, intentFilter); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(TESTACTION); intent.putExtra(STR, "我是一个本地广播"); mLocalBroadcastManager.sendBroadcast(intent); } }); } @Override protected void onDestroy() { super.onDestroy(); mLocalBroadcastManager.unregisterReceiver(mBroadcastReceiver); }}
xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" 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" android:orientation="vertical" tools:context="com.localbroadcasttest.MainActivity"> <TextView android:id="@+id/txtv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!"/> <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="send" /></LinearLayout>
0 0
- android温故知新-----android 本地广播实例(LocalBroadcastManager)
- Android 本地广播LocalBroadcastManager原理分析
- 本地广播LocalBroadcastManager与Android.support.v4.jar导入
- LocalBroadcastManager(本地/应用内广播管理器)
- LocalBroadcastManager本地广播处理
- LocalBroadcastManager发送本地广播
- 本地广播LocalBroadcastManager的好处
- 本地广播LocalBroadcastManager的使用
- 本地广播LocalBroadcastManager简单使用
- Android之广播(本地广播)
- Android LocalBroadcastManager
- Android LocalBroadcastManager
- Android广播之发送自定义广播+本地广播(二)
- 【Android】LocalBroadcastManager 注册的广播对 PendingIntent 无效
- Android LocalBroadcastManager 注册广播和直接registerReceiver的区别
- Android LocalBroadcastManager 注册广播和直接registerReceiver的区别
- Android LocalBroadcastManager 注册广播和直接registerReceiver的区别
- Android本地广播机制
- Unity3D--5.0之后创建Materia时lshader的pass问题
- Maven最佳实践:划分模块
- ztree入门
- MySql安装后却运行不了
- c语言深度解剖笔记1
- android温故知新-----android 本地广播实例(LocalBroadcastManager)
- python学习笔记2_基本语法
- Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法
- 第9周项目2-对称矩阵压缩存储的实现与应用(1)
- iOS - 关于蒙版渐变的实现
- 如何做好产品经理
- Cocos2d-lua(一)项目创建
- mysql数据库连接数据源配置
- c语言深度解剖笔记2