gpt4 book ai didi

java - AlarmManager 未触发 onReceived

转载 作者:太空宇宙 更新时间:2023-11-04 13:18:59 24 4
gpt4 key购买 nike

我创建了一个名为“VIAlarmManager”的类,并在其中创建了一个 AlarmManager 并设置了一些属性。但无论如何,警报都没有被触发,我做错了什么吗?我尝试调用一个在给定间隔(例如 1 分钟/2 分钟/15 分钟)内重复的任务,并且它也应该在 sleep 时执行。

这是我的代码:

public final class VIAlarmManager{

public static AlarmManager alarmManager;
public int freq = 60;

public VIAlarmManager(int freq_in_sec){
this.freq = freq_in_sec;
}

public void setFrequency(int freq_in_sec){
this.freq = freq_in_sec;
}

public void setAlarm(){
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.MINUTE, 1);
alarmManager = (AlarmManager) MainActivity.Context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(MainActivity.Context, VIAlarmManager.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.Context, 0, intent, 0);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),1000 * 60 * 1, pendingIntent);
}

public void cancleAlarm(){
Intent intent = new Intent(MainActivity.Context, VIAlarm_Heartbeat.class);
PendingIntent sender = PendingIntent.getBroadcast(MainActivity.Context, 0, intent, 0);
AlarmManager alarmManager = (AlarmManager) MainActivity.Context.getSystemService(Context.ALARM_SERVICE);
alarmManager.cancel(sender);
}




public static class VIAlarm_Heartbeat extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Log.w("AlarmManager", "Calling Heartbeat now");
MainActivity.beat.beat();
}
}}

我的 AndroidManifest 包含这一行:

<receiver android:name="com.videro.util.VIAlarmManager$VIAlarm_Heartbeat" android:enabled="true" ></receiver>

在我的主要 Activity 中,我调用:

 AlarmManager = new VIAlarmManager(60);
AlarmManager.setAlarm();

最佳答案

如果您需要一个简单的闹钟,经典的方法是使用带有 TimePickerActivity 来选择时间,使用 BroadcastReceiver 来启动闹钟,并使用 Service 来向用户发送通知。

Here这是一个关于如何做到这一点的可行方法!希望它有帮助:)

关于java - AlarmManager 未触发 onReceived,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33278630/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com