新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
今天帮同学做一个动作识别界面,其中用到了手机的开机启动。
公司主营业务:成都做网站、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出大东免费做网站回馈大家。
一提到开启自动启动,我们直接想到了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();
}
}