1、写一个广播,监听开机动作,如果开机完成,执行Intent  打开我们的APP主界面


public class MyReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent)
{
if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED"))
{
Intent i = new Intent(context, MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}

}

2、权限:

<!--开机广播监听-->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>

3、在AndroidManifest.xml文件中注册服务:如果priority=1000,那么开机时还是会延迟一点点再启动APP(当priority的值大于1000的时候会默认使用1000作为priority的值)。如果设置成priority=2147483647则开机直接进入APP(优先级的值根据该链接说法这个是最大的http://blog.csdn.net/u014379448/article/details/77241062)

<!--开机启动-->
<receiver
android:name=".MyReceiver"
android:enabled="true"
android:exported="true">
<!--优先级(取值int 0-1000),但2147483647,据说是最大的int值-->
<intent-filter android:priority="2147483647">
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
</intent-filter>
</receiver>