我遇到了麻烦,我无法在启动后再次正确设置警报。
public void onReceive(Context context, Intent intent) {
if(Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())){
if(fm.getAlarmBool()){
time = fm.getAlarmTimeLong();
reminder.startAlarm(time);
}
}
这是我想要在启动后运行的方法。我已经在android清单中添加了权限,但我无法让它工作。怎么了?
答案 0 :(得分:0)
你应该这样做
public class BootReceiver extends BroadcastReceiver {
Context context;
@Override
public void onReceive(Context context, Intent intent) {
context.startService(new Intent(context, NotificationService.class));
}
}
清单中的
<receiver android:process=":remote" android:name="BootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</receiver>
所以在您的服务中收集所有提醒并重新安排。 为此,您可以将其存储在共享pref或数据库中以进行持久存储