广播接受者BoradCastRevier
来源:互联网 发布:怎么注册淘宝小号安全 编辑:程序博客网 时间:2024/05/20 12:22
广播接受者BoradCastRevier,接收系统消息
概念:
两种注册方式
广播接受优先级
两种方式
广播接受者概念:
- 分类:
- 无序广播
- 无论广播接收者的优先级是什么,所有的广播接收者都能同时接收到,不可以被拦截
- **有序广播** - 按照广播接受者的优先级去优先接收,可以被拦截(短信接收,电话来电)
- 广播注册
- 在清单文件中注册,静态注册,永久生效
- 在Activity中注册,动态注册
- 广播优先级的优先级:
- google推荐的优先级范围(-1000–1000)
- 生命周期特别短
案例_IP
步骤
- 定义一个类继承系统提供的BroadCastReceiver类,
- 复写OnReceiver()方法
```@Override public void onReceive(Context context, Intent intent) { //收到广播就会回调这个方法 Log.i("hhh", "收到新广播"+intent);// 获取传过来的号码 String num = getResultData(); //获取存在sd卡中的数据 SharedPreferences sp = context.getSharedPreferences("config", context.MODE_PRIVATE); String inpNum = sp.getString("inpNum", ""); //将新号码设置出去 setResultData(inpNum+num); }```
注册广播
在清单文件中配置
<receiver android:name="com.example.w_ip.Mybroad"> <intent-filter > <action android:name="android.intent.action.NEW_OUTGOING_CALL"/>//接收的广播类型 </intent-filter> </receiver>
添加权限
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
在MianActivity中设置号码,并且第二次打开时会回显IP号码
“`//回显数据 sp = getSharedPreferences("config", MODE_PRIVATE); String inpNumsString = sp.getString("inpNum", ""); ed_num.setText(inpNumsString); } //保存设置的IP号 public void saveAndExit(View v){ String inpNum = ed_num.getText().toString().trim(); sp.edit().putString("inpNum", inpNum).commit(); Toast.makeText(this, "数据保存成功:"+inpNum, Toast.LENGTH_SHORT).show(); //退出当前Activity finish(); }```
==注意:
使用广播接收者时,只要在清单文件注册了广播,即使应用程序退出了,当接收到广播事件后系统会自动把应用程序重启并处理广播事件==
案例-监听网络状态改变
广播可以实现友方唤醒
案例-监听开机启动
如何在广播接受者中启动Activity?
context.start(new Intent(context,MainActivity));
常见异常
0 0
- 广播接受者BoradCastRevier
- 广播接受者
- 广播接受者
- Android-广播接受者
- 广播接受者(Broadcast Receiver)
- android广播接受者broadcastReceiver
- 第七天 广播接受者
- 释放广播接受者
- 锁屏广播接受者
- 广播接受者broadcastreceiver
- 广播接受者拦截电话
- android 注册广播接受者
- android广播接受者学习
- 广播接受者之有序广播
- 广播与广播接受者简述
- 自定义广播、广播接受者优先级、拦截广播
- 广播接受者:IP拨号器
- 关于广播接受者的问题
- Dimension——缓慢变化维-SCD
- HDU2045 不容易系列之(3)—— LELE的RPG难题
- 内容提供者ContentProvider
- Android 当使用相机并截取照片的时候程序崩溃的问题
- PowerDesigner显示或隐藏字段
- 广播接受者BoradCastRevier
- ESP8266笔记汇总
- 进程缓冲区和内核缓冲区
- C11-2 重载流运算符
- leetcode算法题(JavaScript实现)
- 如何使用CSDN-markdown编辑器
- linux软件包管理
- 《Android开发艺术探索》--Android中的IPC机制
- Effective Java(三)