【发布时间】:2021-06-01 18:00:29
【问题描述】:
我创建了一个应用程序,我想在设备重启后打开它我正在使用广播接收器但无法正常工作,我该怎么办,任何替代解决方案。
我已经在 5.1 以及 10,11 上测试过
这是我的接收器
package com.activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class StartActivityOnBootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_BOOT_COMPLETED.equals("android.intent.action.BOOT_COMPLETED")) {
Intent i = new Intent(context, SplashActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
}
这是我的清单
<receiver android:name="com.activity.StartActivityOnBootReceiver"
android:enabled="true"
android:exported="true">
<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"/>
</intent-filter>
</receiver>
【问题讨论】:
-
你有权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />吗?
标签: android android-activity broadcastreceiver startup android-broadcast