《Android》Lesson19-广播1

Week11  2016/11/22上午1-4节

一、复习上次课内容

《Android》Lesson18-用Fragment实现简易新闻应用2(完整) -

1、新建宽屏模拟器,算出dp,参考链接《Android》Lesson16-Fragment -

sw-xxxx-dp的计算公式是  sw *160/dpi

sw=min(2560,1600)*160/320=800

《Android》Lesson19-广播1_第1张图片

2、在此模拟器下运行程序,可以看到双屏的效果

二、广播机制

Android四大组件 -

Android总结篇系列:Android广播机制 - Windstep - 博客园

三、系统广播

Android常用系统广播_android开发_新浪博客

Android系统广播大全及开机自启动的Service - djun100的专栏 - 博客频道 - CSDN.NET(含Service+系统广播例子)

1、网络状态发生变化系统广播

network: android 使用广播监听网络状态 - CodingMan - 博客频道 - CSDN.NET

2、动态注册监听网络变化

(1)定义内部类:extends广播接收器,重写onReceive()方法

(2)onCreate 中new IntentFilter;

     添加Action:android.net.conn.CONNECTIVITY_CHANGE;可以添加多个Action

     注册广播接收器

(3)onDestroy中取消注册广播接收器

(4)AndroidManifest.xml文件标签中声明权限:android.permission.ACCESS_NETWORK_STATE


(5)可以把(1)改为匿名接收器

[android]广播接收器类和 registerReceiver 方法

Intent - Android SDK

模拟器可用系统广播

(1)电池电量变化广播:android.intent.action.BATTERY_CHANGED或者Intent.ACTION_BATTERY_CHANGED

使用BroadcastReceiver开发手机电池电量应用 - BigChina - 博客园

接收系统广播消息之监听手机电量变化 - Android移动开发技术文章_手机开发 - 红黑联盟

(2)音量变化广播:android.media.VOLUME_CHANGED_ACTION

(3)系统开机广播:android.intent.action.BOOT_COMPLETED

2、静态注册实现开机启动

(1)新建BroadcastReceiver类

(2)AndroidManifest.xml文件标签中声明权限:

android.permission.RECEIVE_BOOT_COMPLETED

(3)在AndroidManifest.xml文件标签中注册receiver

(4)无法实现开机启动的解决方法

Android 4.0及以上版本接收开机广播BOOT_COMPLETED、开机自启动服务 - Howard_Liu1314的专栏 - 博客频道 - CSDN.NET

Android静态注册无法接受系统广播问题 - Ocean2006的专栏 - 博客频道 - CSDN.NET

Android 自启动在开发版本上面没有问题,在正式版本上面有问题,不能够自启动, - Kodulf的专栏 - 博客频道 - CSDN.NET

你可能感兴趣的:(《Android》Lesson19-广播1)