1.首先写一个广播接收者:
public class BootUpReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) { Intent i = new Intent(context, LoginActivity.class); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); } } }
2.在清单文件注册权限和广播:
<!-- 开机启动app权限--> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<receiver android:name=".receiver.BootUpReceiver" android:enabled="true" android:exported="true"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"></action> </intent-filter> </receiver>
3.这种方式在有的手机可以有的不可以,
以华为平板M5为例,在其他的上面试了可以开机启动,该平板怎么试都不行,最后解决办法:
平板上有个系统级应用,平板管家app,点击进入,有个选项 启动管理,点开后点击批量手动管理,把自己应用的自启动打开,默认是关闭的,
完事,就可以了