警报管理器在60秒后未启动

问题描述 投票:0回答:1

我正在尝试将警报管理器设置为工作状态,只是安排简单的时间表,每分钟进行一次烤面包,但是这没有用,代码有什么问题?

主要活动:

public void klik(View view) {
    startalarm();
}


public void startalarm(){
    AlarmManager manager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
    Intent intent;
    PendingIntent pendingIntent;
    intent = new Intent(this, AlarmToastReciever.class);
    pendingIntent = PendingIntent.getBroadcast(this,0,intent,0);
    manager.setRepeating(AlarmManager.RTC_WAKEUP, SystemClock.elapsedRealtime()+3000,+60000,pendingIntent);
}

}

AlarmToastReciever类:

 public class AlarmToastReciever extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent){
    Toast.makeText(context,"GOWNO", Toast.LENGTH_SHORT).show();
}
}
java android alarmmanager
1个回答
0
投票

使用此代码初始化警报管理器。

    final Calendar calNow = Calendar.getInstance();
    final Calendar calSet = (Calendar) calNow.clone();

    calSet.set(Calendar.HOUR_OF_DAY, calNow.get(Calendar.HOUR_OF_DAY));
    calSet.set(Calendar.MINUTE, calNow.get(Calendar.MINUTE) + 1);
    calSet.set(Calendar.SECOND, calNow.get(Calendar.SECOND));

    final Intent intent = new Intent(this, UploadStarterReceiver.class);
    final PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 1,
            intent, 0);
    final AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);

    alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, calSet.getTimeInMillis(),
            60 * 1000, pendingIntent);
© www.soinside.com 2019 - 2024. All rights reserved.