引导接收器在 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)将其完全关闭并重新启动,这对我有用。
我已经阅读了大约一个小时的答案,但看不出我做错了什么阻止我的引导接收器启动。
这是我的清单 -
<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)将其完全关闭并重新启动,这对我有用。