android-利用broadcast双程序相互监控保证目标程序运行

android-利用broadcast双程序相互监控保证目标程序运行
功能需求是,一个主程序app,另外一个监控程序app。监控app的目的是为了主程序app不会宕掉,而主程序app也要保证监控程序app不会宕掉。
利用跨进程的自定义广播来实现,要定义如下几个广播Main_APP_BC,Main_APP_BC_ACK以及SUB_APP_BC,SUB_APP_BC_ACK。机制如下:主程序app和监控app分别定时发送Main_APP_BC和SUB_APP_BC广播,相应的如果监控app和主程序app分别收到Main_APP_BC和SUB_APP_BC广播之后,会分别回复Main_APP_BC_ACK和SUB_APP_BC_ACK,如果一段时间内没有收到对方回应的广播认为对方宕掉了,利用包名和类名(已经知道)去启动另外一个app。测试过程中:应答广播的回复通常很快小于1s,非正常情况(原因不详)会有超过30s才收到广播的情况,所以可以等待回应广播的时间可以适当增长。
以其中一个app的service中的流程为例,流程图如下图:

实测使用android系统设置-强制关闭其中一个app,另外一个app都会利用这种机制,使其启动。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值