每日日报

四大组件都运行在主线程中 广播接收者也是运行在主线程中 不能执行耗时操作 如果一定要执行耗时操作 必须开子线程

broadcastreceiver 用来接收 sendBroadCast方法 发出来的广播 可以通过intent传递数据  抽象类

 

广播特点  数据的传递方向 单向  调到固定的频率

 

作用范围有限 只在当前手机里有效 系统 把一些重要的操作 通过广播的形式通知给所有的应用

广播接收者案例_ip拨号器

①写一个类继承BroadCastRevceiver重写onReceive方法
1.public class DailReceiver extends BroadcastReceiver {
2.
3.    @Override
4.    public void onReceive(Context context, Intent intent) {
5.        //获取用户输入的ip前缀
6.        SharedPreferences sp = context.getSharedPreferences("info", Context.MODE_PRIVATE);
7.        String prefix = sp.getString("prefix", "17951");
8.        //获取打电话的号码
9.        String number = getResultData();
10.        System.out.println("打电话了"+number);
11.        setResultData(prefix+number);
12.    }
13.}

②清单文件中注册 receiver节点 通过intent-filter 指定当前广播接收者要处理的广播事件
1. <receiver android:name="com.itheima.ipdialer.DailReceiver">
2.            <intent-filter >
3.                <action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
4.            </intent-filter>
5.  </receiver>

 

 

上一篇:python 递归打印目录 tree


下一篇:redis 读写分离主从服务类借鉴