android开机自启程序

今天帮同学做一个动作识别界面,其中用到了手机的开机启动。

一提到开启自动启动,我们直接想到了Broadcast

Android系统完成BOOT阶段之后,就会发送一条名为 ACTION_BOOT_COMPLETED 的广播,我们便可在一个BroadcastReceiver中捕获这条广播,然后启动我们的Activity或者Service,当然要注意的是,我们的application必须具有捕获该广播的权限


//上代码

//这个是自己写的一个Service用来今天开机,一旦收到了开机广播,则启动MainActivity这个活动

public class LaunchService extends BroadcastReceiver{

@Override

public void onReceive(Context context, Intent intent) {

if(intent.getAction().equals("android.intent.action.BOOT_COMPLETED")){

Intent service = new Intent(context, MainActivity.class);

//下面的一条语句必须要添加,否则会报错。

                        //这个问题还没有解决,至今都不知道为什么

service.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//

context.startActivity(service);

}

}

}


//这个是要启动的Activity

public class MainActivity extends Activity {

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);   

        Toast.makeText(MainActivity.this, "开机已启动", Toast.LENGTH_LONG).show();

    

}