再谈开机启动:android.intent.action.BOOT_COMPLETED 还是 android.media.AUDIO_BECOMING_NOISY

对于开机启动我想大家都不陌生了,就是向系统 注册一个消息监听(android.intent.action.BOOT_COMPLETED),然后对这个消息的处理就可以了(当然要先申请权限噢)。

我想说的是android.intent.action.BOOT_COMPLETED消息在某种情况下发非常慢,我遇到的是60秒后才收到这个消息。这会导致App启动非常慢,总让人觉得没有自动启动。

虽然消息慢的原因可能很多,但在此我只说一条就是静态IP也会引起此种现象。先说一下我的环境:Android 5.1 开发板。当把设备设置为静态IP同时网内又没有DHCP的话(比如只有一个开发板+小交换)这种状态下消息会收到的很慢。

解决方法有两种:

  1. 把小交换换成路由,IP设为动态获取。
  2. 把 android.intent.action.BOOT_COMPLETED 监听换成 android.media.AUDIO_BECOMING_NOISY。

这样就会快很多。android.media.AUDIO_BECOMING_NOISY 的解释是设备启动后要播放启动声音了,通知大家不要干扰。监听此消息可以加快启动速度但还有一点就是此消息广播时有此外设还未就绪。不过串口、网络都已就绪。

另外还有最重要的一点就是 android.media.AUDIO_BECOMING_NOISY 不需要权限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值