android 开机自启动有三个步骤。

1. 首先实现一个BroadcastReceiver用来获取系统的 BOOT_COMPLETE 消息, 而该receiver又负责启动你的service或者activity.

写道 public class myReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if(action.equals("android.intent.action.BOOT_COMPLETED"))//与receiver的action android:name保持一致
{//判断是否开机启动 Intent i = new Intent(Intent.ACTION_RUN);
i.setClass(context, yourService.class);
context.startService(i); //在此做开启services //Intentintent = new Intent(context, BabyCareMain.class);
// intent addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// context.startActivity(intent ); }; //为了 在Context中有一个startActivity方法,Activity继承自Context,重载了startActivity方法。如果使用Activity的startActivity方法,不会有任何限制,而如果使用Context的startActivity方法的话,就需要开启一个新的task,遇到上面那个异常的,都是因为使用了Context的startActivity方法。解决办法是,加一个flag。 intent .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
}

2.在Manifest文件中增加声明:

a. 加入使用权限声明:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

b. 加入receiver 注册声明:


<receiver android:name=".yourReceiver" >

<intent-filter>

<action android:name="android.intent.action.BOOT_COMPLETED" />

</intent-filter>

</receiver>

3.搞定

更多相关文章

  1. Android:消息机制
  2. C++的Android接口---配置NDK
  3. android中Creating a Searchable Activity
  4. Android(安卓)- Shared Preference (分享首选项) 详解
  5. Android开发常用:Fresco加载图片的几种方式
  6. 复习android 的大喇叭~~~
  7. android 设置状态栏颜色
  8. 获取Android系统时间是24小时制还是12小时制
  9. Android(安卓)开发之 Drawable系列

随机推荐

  1. Android(安卓)Firebase Dynamic Links 动
  2. Android(安卓)版本号对应的SDK版本
  3. 安卓模拟器去掉头部标题
  4. android 根据string 获取资源文件的id
  5. 善用Android预定义样式
  6. 自定义单选按钮(RadioButton)的样式
  7. RelativeLayout常用属性介绍
  8. OSCHINA Android(安卓)客户端 - 手机相关
  9. EditText属性
  10. [置顶] Android中几种预定义样式