方法很简单,就是注册一个BroadcastReceiver 去接收 actoin 为 android.intent.action.BOOT_COMPLETED 的消息,然后即可启动Activity了。
首先在menifest 文件中添加权限声明,因为接收BOOT_COMPLETED消息需要RECEIVE_BOOT_COMPLETED 权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
通过在menifest xml文件中配置的方式注册一个Receiver
<receiver android:name=".BootUpReceiver" android:enabled="true" android:permission="android.permission.RECEIVE_BOOT_COMPLETED" > <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </receiver>
在Receiver的onReceive方法中启动Activity
public class BootUpReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Intent i = new Intent(context, MyActivity.class); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); } }