Android学习日记(yzy):Broadcast Receiver的注册和发送
来源:互联网 发布:php api接口验证 编辑:程序博客网 时间:2024/06/06 10:01
作为Android应用层的四大组件之一,Broadcast Receiver常用于应用程序之间的信息传输,也可用于应用内的信息传输,在编写广播时我们要注意的重要点:
1:broadcast reseiver的注册有两个方法:①常驻型注册 ②非常驻型注册,常驻型注册是指在manifest.xml配置文件中进行注册,而非常驻型注册是指在java代码中进行动态注册,
这两个注册的不同在于:非常驻型注册的代码伴随着程序的Activity的生命周期,而常驻型注册的广播接收器不会随着程序关闭而关闭,类似于手机应用上的Notification的消息通
知功能便是可利用常驻型注册的广播来运行应用程序。
2:Broacast的消息发送方式分为两种:①无序广播 ②有序广播 ,区别在于有序广播利用优先级进行发送,且广播消息可被修改,终止 等。
代码(将发送广播和广播接收器编入同一个应用中):
public class MainActivity extends Activity { private final static String TAG = "MainActivity"; private final static String ACTION_NAME = "the content of Broadcast Receiver"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //register a Broadcasr Receiver registerBroadcastReceiver(); } //create a broacast Recever private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String getData; String action = intent.getAction(); if (action.equals(ACTION_NAME)){ Log.e(TAG,"the broadcast receiver triggered"); getData = intent.getStringExtra("senddata"); Toast.makeText(MainActivity.this,"actually send ths broadcast"+'\n'+getData,Toast.LENGTH_SHORT).show(); } } }; //send message to broadcast receiver protected void BroadcastClick(View view){ Log.e(TAG,"Click the Button"); Intent mIntent = new Intent(ACTION_NAME); mIntent.putExtra("senddata","the Broadcast send the data"); sendBroadcast(mIntent); } private void registerBroadcastReceiver(){ IntentFilter mIntentFilter = new IntentFilter(); mIntentFilter.addAction(ACTION_NAME); registerReceiver(mBroadcastReceiver,mIntentFilter); } protected void onDestroy(){ super.onDestroy(); unregisterReceiver(mBroadcastReceiver); }}
阅读全文
0 0
- Android学习日记(yzy):Broadcast Receiver的注册和发送
- Android学习日记(yzy):intent传递的多种数据类型
- Android学习日记(yzy):Notification的简单运用
- Android学习日记(yzy):Service的两种启动
- Android学习日记(yzy):集成布局和滑动效果的实现
- Android学习日记(yzy):通过Timer类和Handler机制实现gif图片
- Android学习日记(yzy):显示application并调用
- Android学习日记(yzy):Fragment与VierPager简单实现
- Android学习日记(yzy): Accessibility辅助功能
- android学习:broadcast receiver的使用
- Android的Broadcast Receiver
- android的广播broadcast和receiver
- Android中Broadcast Receiver的两种注册方法和区别
- Android之Broadcast Receiver的两种注册方式
- Broadcast Receiver的静态注册&动态注册
- Android组件Broadcast Receiver学习
- 【Android学习笔记】Broadcast receiver
- Framework学习(九)Broadcast的注册、发送和接收过程
- springboot集成hibernate-jpa方式
- 白话经典算法系列之六 快速排序 快速搞定
- Java基础(四)static与final
- RGB, YUV及相关标准
- hdu1176 免费馅饼 DP
- Android学习日记(yzy):Broadcast Receiver的注册和发送
- Android绘制波浪线
- 正态性检验,多元线性和多项式回归,输出具体的回归函数
- Spring Data JPA 一Projections
- UVA-11395-因数和为偶数
- JS定义类的六种方式详解
- 大数据分析与人工智能技术与应用特别训练营7月28日-29日 | 北京
- 基于光流分析的运动目标快速检测与跟踪融合算法
- 网页自动识别移动端js,百度的,感觉挺好用的,兼容比较广