引导接收器在 Oreo 中不起作用

Boot Receiver Not Working in Oreo

我已经阅读了大约一个小时的答案,但看不出我做错了什么阻止我的引导接收器启动。

这是我的清单 -

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

<receiver
            android:name=".BootReceiver"
            android:enabled="true"
            android:exported="true">
            <intent-filter android:priority="500">
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </receiver>

我的 BootReceiver 看起来像这样 -

public class BootReceiver extends BroadcastReceiver {

    private static final String TAG = "BootReceiver";

    @Override
    public void onReceive(Context context, Intent intent) {

        Log.i(TAG ,"onReceive");

        if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
            Log.i(TAG ,"onReceive2");
            new MainActivity().nextNotification(context);
        }
    }
}

据我所知,这应该是我所需要的?我可能缺少什么?

我有理由相信它以前可以工作(可能在 Android N 上)但现在没有启动(Android O)。

有什么我可能错过的吗?它在模拟器或我的 Pixel 上不起作用。事实上,它在 API 上的模拟器上运行良好。 21. 我以为 Boot Receiver 在 Oreo 上被列入了白名单?

有时 Android Studio 可能会出错。 (此处为 v3.0 Beta 4)将其完全关闭并重新启动,这对我有用。