2017-07-31 80 views
0

我正在尝试做一个简单的闹钟管理器,虽然我添加了5秒的延迟,但是我的手机中的闹钟立即熄灭。AlarmManager警报立即熄灭并忽略延迟

我知道,在我的接收器中,报警器现在会关闭, ,但我知道您将延迟设置为当您希望在未决意图中关闭时。

我做错了什么?

这里是我的意图报警:

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()); 

    } 
} 

回答

0

加入

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