Android – (静态广播) APP 实现开机自启
-
权限请求(AndroidManifest.xml):
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
-
自定义广播类:
public class BootReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if(action.equals(Intent.ACTION_BOOT_COMPLETED)){ Message obMessage = mHandler.obtainMessage(); obMessage.obj = context; mHandler.sendMessageDelayed(obMessage, 5000);//延时5秒启动; } } private Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { Context context = (Context) msg.obj; //启动初始页 startSplashActivity(context); } }; private void startSplashActivity(Context context) { Intent intent = new Intent(context, SplashActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent); } }
-
注册广播:
<receiver android:name=".receiver.BootReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.intent.action.QUICKBOOT_POWERON" /> <action android:name="android.intent.action.REBOOT" /> <!--just for htc--> <action android:name="com.htc.intent.action.QUICKBOOT_POWERON" /> </intent-filter> </receiver>