OTA升级,第三方如何发到消息到handler

本文介绍了OTA升级过程中,如何处理下载部分的逻辑。在开机广播中启动Service,通过Application全局变量管理和消息队列进行状态跟踪。在Service中创建Handler接收消息并发送状态广播。为了解决其他类如何向Service的Handler发送消息的问题,定义了一个SystemUpgradeListener接口,Service实现该接口,第三方可以通过回调将消息传递给Handler。
摘要由CSDN通过智能技术生成

OTA升级之下载部分:
1,首先在收到开机广播中,context.startService(service);

2,在全局application中:public class Base extends Application {
   正在下载判断:
 public boolean IsDownloadRunning=false;
  消息队列
 public ArrayList<StatusMessage> messages = new ArrayList<StatusMessage>();

全局变量访问方法:app = (Base)getApplicationContext();

3,UpgradeService extends Service ,在onCreate中,检查有没有网络,如果没有,在一定时间内给予超时提醒,并注册,监听

ConnectivityManager.CONNECTIVITY_ACTION 广播。在超时期间,有可能有网络了,就走这个广播处理。具体是起一个异步任务,在异步任务

中,连接网络,如果网络是通的,则去初始化下载。

4,在UpgradeService  中有handler:
  public Handler handler = new Handler() {
  @Override
  public void handleMessage(Message msg) {
   // TODO Auto-generated method stub
   
   setExitTimeOut();//有消息在接收,重新定时&#x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值