1、为什么不用Activity、BroadcastReceiver处理耗时操作?
主线程 (“事件处理线程” / “UI线程”) 在5秒内没有响应输入事件, BroadcastReceiver 没有在10秒内完成返回的情况下,Android会出现ANR错误。
2、为什么不直接抛出Thread进行处理而要采用Service?
3、使用方式:
Service启动时,注册BroadcastReceiver ,同时启动处理线程;
Service中定义BroadcastReceiver 内部类,用于接收数据;
BroadcastReceiver 中调用处理线程的handler,通过handler.sendMessage();
由Handler完成数据的最终处理;
其中,
Service提供处理环境或者说容器;
BroadcastReceiver 用于接收外部传送至Service的数据,并调用handler;
Thread(Handler)真正完成数据的处理;
public class MyService extends Service{ private MyThread myThread; oncreate(){ //启动处理线程 myThead.start(); //注册监听 registerReceiver(); } onDestroy(){ myThread.release(); unregisterReceiver(); } public class MyReceiver extends BroadcastReceiver { onReceive(){ // myThread.handler.sendMessage(); } } }
public class MyThread extends Thread { private Looper looper; private MyHandler myHandler; run(){ Looper.prepare(); looper = Looper.myLooper(); myHandler = new MyHandler(looper); looper.loop(); } realease(){ loop.quit(); } }
相关推荐
android服务自启动Service以及BroadcastReceiver和Notification.zip
Intent和BroadcastReceiver示例代码
android service Notification BroadcastReceiver Intent 安装的服务开机自启动,service定时的打印消息,消息同时显示在通知栏,窗体界面的跳转,自定义控件的开发。系统广播,定时广播,轮询广播等。...
初中级Android开发社招面试之Service及BroadcastReceiver
初中级Android开发社招面试之Service及BroadcastReceiver
介绍了andorid四大组件之一的BroadcastReceiver
NULL 博文链接:https://jiangnanlove.iteye.com/blog/1333335
ANDROID---当网络发生变化时使用BroadcastReceiver和service通知 博客地址:http://blog.csdn.net/zhang58246500/article/details/51536350
Android自学笔记-17-广播接收者(BroadcastReceiver)
Android-BroadcastReceiver高级应用,详细参见博客:http://www.cnblogs.com/plokmju/p/android_SystemBroadcastReceriver.html
Android Service与BroadcastReceiver、bindService示例详解,代码非常详细,详解博客网址:http://blog.csdn.net/sunboy_2050/article/details/7364024
ANDROID-当网络发生变化时使用BroadcastReceiver和service通知 博客地址:http://blog.csdn.net/zhang58246500/article/details/51536350
但是广播的精神和理念却被IT技术发扬光大。本集中提到的BroadcastReceiver就是此应用的典范。Android通过广播机制,能够让订阅者接受到想听到的广播,并进行进一步的处理和操作。如果你想在虚拟的android世界中创建...
Android--利用BroadcastReceiver实现APP强制下线Demo 类似于QQ异地登陆后,会强制下线,并要求重新登录的功能。 Demo采用主动触发的方式,发送强制下线的广播,具体业务场景可以是从服务器发来的数据进行判断,如果...
对应于博客中的例子: 有:定时任务,发送短信,状态栏通知,行车模式,夜间模式,唤醒锁,音量设置, 开机自启设置,拍照设置,等
将一个BroadcastReceiver转成一个Observable
Android断网时通知,基于BroadcastReceiver和service的实现,当网络发生变化时使用BroadcastReceiver和service通知用户, 调试时请下载mockable-android-23.jar类库到build\generated目录下。
Android BroadcastReceiver
android BroadcastReceiver 源码 学习