Android开机自启动
1.原理
当Android启动时,会发出一个系统广播,内容为ACTION_BOOT_COMPLETED,它的字符串常量表示为 android.intent.action.BOOT_COMPLETED。
只要在程序中“捕捉”到这个消息,再启动相应应用即可。
2.代码
2.1 BootBroadcastReceiver
1 import android.content.BroadcastReceiver; 2 import android.content.Context; 3 import android.content.Intent; 4 5 import com.e.weixin.main.presenter.MainActivity; 6 7 public class BootBroadcastReceiver extends BroadcastReceiver { 8 9 static final String action_boot="android.intent.action.BOOT_COMPLETED"; 10 11 @Override 12 public void onReceive(Context context, Intent intent) { 13 if (intent.getAction().equals(action_boot)){ 14 Intent ootStartIntent=new Intent(context,MainActivity.class);//这里启动相应的应用。 15 ootStartIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 16 context.startActivity(ootStartIntent); 17 } 18 } 19 }
2.2 在AndroidManifest.xml中注册BootBroadcastReceiver
1 <receiver android:name=".app.BootBroadcastReceiver"> 2 <intent-filter> 3 <action android:name="android.intent.action.BOOT_COMPLETED" /> 4 <category android:name="android.intent.category.HOME" /> 5 </intent-filter> 6 </receiver>
2.3 在AndroidManifest.xml中添加权限
1 <!--开机启动--> 2 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
2.4 安装,重启,测试