gpt4 book ai didi

java - 我可以将闹钟更改为重复闹钟吗?

转载 作者:行者123 更新时间:2023-12-01 18:08:43 25 4
gpt4 key购买 nike


如何将已准备好设置的闹钟更改为重复闹钟?我使用 AlarmManager 设置闹钟?我的实际代码如下所示:

    intent = new Intent(MainActivity.this, AlarmReceiverActivity.class);
pendingIntent = PendingIntent.getActivity(MainActivity.this, 2, intent, PendingIntent.FLAG_CANCEL_CURRENT);
am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.setRepeating(AlarmManager.RTC_WAKEUP, time, intervall, pendingIntent);

感谢您的帮助,
弗洛里安

编辑:我用其他方式解决了我的问题(每次设置一个新的闹钟),所以没有压力,但我仍然想知道这是如何工作的

最佳答案

您已经通过服务类完成了这项工作。

例如

Application 的 onCreate() 方法中,您必须像下面这样初始化 AlarmManager

long l = 60000;
try {

AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);

Intent intent = new Intent(context, SyncBroadcastReceiver.class);

PendingIntent pendingIntent = PendingIntent.getBroadcast(context, SYNC_CALL_TO_SERVER_PENDING_INTENT,
intent, PendingIntent.FLAG_UPDATE_CURRENT);

alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), l, pendingIntent);

}catch (Exception e){
e.printStackTrace();

}

SyncBroadcastReceiver一样,

public class SyncBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
try {
//comment to check crash
Intent intent1 = new Intent(context, ServiceClass.class);

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
context.startForegroundService(intent1);
} else {
context.startService(intent1);
}
} catch (Exception e){
e.printStackTrace();

}
}
}

和ServiceClass一样

public class ServiceClass extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// hitNotification(); // what need to act like notification dialog
return START_NOT_STICKY;
}
}

关于java - 我可以将闹钟更改为重复闹钟吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60507830/

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