7月 242015
 

  在Android4.0之前,服务是可以在开机时自动运行的,但是在Android4.0以后,为了安全起见,防止一些非法的后台服务在开机后自动运行,用户必须打开一个Activity后才可以启动服务。

  那么我们想想,如果我们不是做一些非法的操作是否可以有其他的变通方法解决这个问题呢。

  如果是要更新桌面小组件的数据,那么我们可以在小组件服务创建时启动数据更新服务,如下:

 *
Android4.0之前设置服务开机自启动的方法

  首先AndroidManifest.xml中加入

  创建用于接收RECEIVE_BOOT_COMPLETED广播的BroadcastReceiver类

  在AndroidManifest.xml中声明这个receiver类

  BOOT_COMPLETED:当系统启动完成时发送这个广播
  QUICKBOOT_POWERON:HTC的一些手机有快速启动,这个action是针对快速启动情况的
  ACTION_EXTERNAL_APPLICATIONS_AVAILABLE:这个action是针对程序安装到sd卡的时候,sd卡上的应用加载完成时发送此广播