今天帮同学做一个动作识别界面,其中用到了手机的开机启动。
一提到开启自动启动,我们直接想到了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();
}
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。