飞哥语录:努力让自己发光,发热,你是最闪耀的星。
我们在开发的过程中,可能都会遇到要求开机自动启动一个APP这样的需求,于是就有了本文,看下文↓
1.添加权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
2.创建一个广播接收器对象,重写其抽象方法 onReceive(Context context, Intent intent),在其中编写你想要启动的Service、Activity或者APP
public class BootBroadcastReceiver extends BroadcastReceiver {
static final String ACTION = "android.intent.action.BOOT_COMPLETED";
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(ACTION)) {
Intent intent = new Intent(context, MainActivity.class); // 要启动的Activity
//1.如果自启动APP,参数为需要自动启动的应用包名
//Intent intent = getPackageManager().getLaunchIntentForPackage(packageName);
//下面这句话必须加上才能开机自动运行app的界面
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//2.如果自启动Activity
//context.startActivity(intent);
//3.如果自启动服务
context.startService(intent);
}
}
}
3.在AndroidManifest.xml文件中静态注册广播接收器,然后配置系统开机的intent-filter
<receiver android:name="BootBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</receiver>
ok,很so easy 吧,一切都搞定了,赶快重启一下手机去体验吧。
转载请注明原文地址: https://ju.6miu.com/read-1257.html