Android开机自启功能实现

Android 的开机自启功能,在做系统工具或者后台服务类 App 时用得挺多。想让你的应用一开机就悄悄启动?其实关键就是监听系统的开机广播。用个BroadcastReceiver接住ACTION_BOOT_COMPLETED,启动你自己的服务或者界面就行。代码不多,逻辑也清晰,新手也能快上手。

权限别忘了加,RECEIVE_BOOT_COMPLETED是必须的,AndroidManifest.xml 里一加就行。有的系统还得你先手动启动一次 App,它才认你。这个点要注意,多人就是卡在这儿。

BroadcastReceiver 的写法也挺直白的,重写onReceive(),收到广播就干活。比如:

public class BootReceiver extends BroadcastReceiver {
  @Override
  public void onReceive(Context context, Intent intent) {
    if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {
      Intent serviceIntent = new Intent(context, YourService.class);
      context.startService(serviceIntent);
    }
  }
}

就是 Manifest 里注册它:


  
    
  

你要是用的是老的 Eclipse 开发环境,也别担心,流程差不多。新项目、权限、接收器,一步步来就能搞定。就是要多测试,真机、模拟器都跑一遍,防止一些国产 ROM 给你限制了权限。

如果你想看更详细的例子或者不只 Android,还有UnityDelphi甚至Node.js的开机自启玩法,可以戳这些:

如果你正好在搞后台服务、设备控制或者定时提醒类的 App,可以试试这个方法,挺实用的。

zip 文件大小:1.31MB