我一直在阅读大约一个小时的答案,但看不出我做错了什么让我的Boot Receiver停止了。
这是我的清单 -
<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上是白名单?
答案 0 :(得分:1)
有时Android Studio可能会出错。 (此处为v3.0 Beta 4)将其关闭并重新启动它,这对我有用。