【问题标题】:AlarmManager alarm goes off immediately and ignores delayAlarmManager 警报立即响起并忽略延迟
【发布时间】:2017-07-31 13:20:30
【问题描述】:

我正在尝试做一个简单的警报管理器,虽然我添加了 5 秒的延迟, 我手机里的闹钟立刻响了。

我知道我的接收器中的警报说现在响起, 但我知道您将延迟设置为您希望它在未决意图时触发。

我做错了什么?

这是我的警报意图:

    AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    Intent intent = new Intent (AlarmClockScreen.this, AlarmNotificationReciever.class);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, intent, 0);
    manager.set(AlarmManager.RTC_WAKEUP, SystemClock.elapsedRealtime()+5000,pendingIntent);

这是我的接收器

public class AlarmNotificationReciever extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        NotificationCompat.Builder builder = new NotificationCompat.Builder(context);

        builder.setAutoCancel(true)
                .setDefaults(Notification.DEFAULT_ALL)
                .setWhen(System.currentTimeMillis())
                .setSmallIcon(android.R.mipmap.sym_def_app_icon)
                .setContentTitle("Alarm TITLE")
                .setContentText("I will finish, What you started")
                .setDefaults(Notification.DEFAULT_LIGHTS | Notification.DEFAULT_SOUND)
                .setContentInfo("Info");

        NotificationManager notificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
        notificationManager.notify(1,builder.build());

    }
}

【问题讨论】:

    标签: android android-intent alarmmanager


    【解决方案1】:

    通过添加修复它

    Calendar time = Calendar.getInstance();
    time.setTimeInMillis(System.currentTimeMillis());
    time.add(Calendar.SECOND, 30);
    and then using time.getTimeInMillis()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多