通过监控 boot complete Broadcast receiver来实现开机重启吧? 难道其它手机把这个Broadcast Receiver事件给关了?

解决方案 »

  1.   

    先检查设置里是否允许了开机启动
    其次貌似安装后必须先运行一次,而且不能被强制停止
    静态注册时把优先级调到最高
    以前看过的经验
    http://my.oschina.net/zhuzihasablog/blog/199673?p=1
    ——————————————————————
    接收不到BOOT_COMPLETED广播可能的原因
    (1)、BOOT_COMPLETED对应的action和uses-permission没有一起添加
    (2)、应用安装到了sd卡内,安装在sd卡内的应用是收不到BOOT_COMPLETED广播的
    (3)、系统开启了Fast Boot模式,这种模式下系统启动并不会发送BOOT_COMPLETED广播
    (4)、应用程序安装后重来没有启动过,这种情况下应用程序接收不到任何广播,包括BOOT_COMPLETED、ACTION_PACKAGE_ADDED、CONNECTIVITY_ACTION等等。
    Android3.1之后,系统为了加强了安全性控制,应用程序安装后或是(设置)应用管理中被强制关闭后处于stopped状态,在这种状态下接收不到任何广播。直到被启动过(用户打开或是其他应用调用)才会脱离这种状态,所以Android3.1之后
    (1)、应用程序无法在安装后自己启动
    (2)、没有ui的程序必须通过其他应用激活才能启动,如它的Activity、Service、Content Provider被其他应用调用。
    存在一种例外,就是应用程序被adb push you.apk /system/app/下是会自动启动的,不处于stopped状态。
      

  2.   

    http://blog.csdn.net/lilidejing/article/details/37961723 
    可以参考下这个
    如果不是在system/app目录下,app要被打开过一次激活后才能开机启动哦,想办法安装后打开一次你的app吧
      

  3.   

    有些厂商改过的系统是只有system/priv-app下的应用才可以接收开机广播哦,还有就是有些是搞白名单,白名单里面的apk才可以接收开机广播,这个只是个可能哈