Android BroadcastReceiver的基本使用
来源:互联网 发布:未知网络错误 编辑:程序博客网 时间:2024/05/17 03:02
首先我们在发送者的Activity里创建两个控件
EditText 输入框 (发送内容)
Button 按钮(发送)
分别给每个控件设置一个ID
给Button设置一个onClick跳转事件
1,在java代码里面
2,先绑定一下输入框的ID
3,在new一个Intent
4,设置广播的名字,每个项目的包名是唯一的,所以为了确保唯一性要在前面加上包名
5,实现刚刚Button的onClick跳转事件,携带数据,和发送广播
例如:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_android_20);
ed_main_context = (EditText) findViewById(R.id.ed_main_context);
intent = new Intent();
//设置广播的名字(设置Action)
intent.setAction(“com.example.myapplication.955”);
}
public void send(View view){
String content=ed_main_context.getText().toString();
//携带数据 intent.putExtra("data",content); //发送广播(无序广播) // sendBroadcast(intent);//发送黏性广播(动态广播) sendStickyBroadcast(intent); }
}
(黏性广播主要用于动态广播在关闭后,广播发送者发送了消息,再次启动动态广播的时候能看见发送的离线消息)
发送黏性广播要在清单文件里面设置权限
例如:
再新建一个项目作为广播的接收者
1,新建一个MyReceived01的java类,需要继承
BroadcastReceiver(只有一个生命周期)
2,实现
BroadcastReceiver的生命周期
onReceive
3,与电台的名字进行判断
4,在清单文件里面进行配置
例如:
public class MyReceived01 extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
if (“com.example.myapplication.955”.equals(intent.getAction())){}
String data= intent.getStringExtra(“data”);
Log.i(“text”,”1号接受完毕,广播为:”+data);
}
}
(配置广告接收者有两种,
1. 在清单文件中配置(静态广播)
2. 使用java 代码(动态广播)(在无序的前提下相对静态广播,动态广播具有优先权)
)
动态广播:
1:在MainActivity
onResume
生命周期里面注册广播
2,在
onDestroy
生命周期里面销毁广播
例如:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myReceived02 = new MyReceived02();
intentFilter = new IntentFilter();
intentFilter.addAction(“com.example.myapplication.955”);
}
@Overrideprotected void onResume() { super.onResume(); //注册广播 registerReceiver(myReceived02,intentFilter);}@Overrideprotected void onDestroy() { super.onDestroy(); //注销动态广播 unregisterReceiver(myReceived02);}
}
系统广播:
电话监听的三种状态:
CALL_STATE_RINGING(来电)
CALL_STATE_OFFHOOK(通话)
CALL_STATE_IDLE(挂断)
- Android BroadcastReceiver的基本使用
- Android中BroadcastReceiver的基本使用
- BroadcastReceiver的基本使用
- [Android] BroadCastReceiver的使用
- Android -- BroadcastReceiver的使用
- Android BroadcastReceiver的使用
- 【android】BroadcastReceiver的使用
- android之BroadcastReceiver的使用
- Android之BroadcastReceiver的使用
- Android之BroadcastReceiver的使用
- Android中BroadcastReceiver的使用
- Android中BroadcastReceiver的使用
- Android中BroadCastReceiver的使用
- Android -- BroadCastReceiver的简单使用
- Android入门--BroadcastReceiver的使用
- Android之BroadcastReceiver的使用
- Android之BroadcastReceiver的使用
- Android BroadcastReceiver的简单使用
- 8086中断
- Android ContentProvider的使用
- SPFA算法 最短路 蓝桥杯
- 【深入理解JVM】学习笔记——-1、JVM基本结构
- 小红书4.11体验报告
- Android BroadcastReceiver的基本使用
- 采用spring mvc 和mybatis框架 将excel数据导入到Mysql数据库
- Maven快速入门(二)
- python爬取小说
- HTML标签之样式/节类标签
- 《浪潮之巅 - 下册》 书摘
- uC/OS-II 移植 内核系统裁剪os_cfg.h
- Oracle之包
- vim的一些操作