gpt4 book ai didi

Android:取消服务中的警报

转载 作者:太空狗 更新时间:2023-10-29 14:14:24 25 4
gpt4 key购买 nike

我在 Activity 中启动一系列警报,以在特定时间后启动服务。服务启动后,我想取消该特定警报,而不是任何其他警报。

下面是启动闹钟的代码。

Calendar calendar = Calendar.getInstance();
Intent intent = new Intent(StatAlarmActivity.this, AndroidService.class);
PendingIntent pIntent = PendingIntent.getService(StatAlarmActivity.this, 0, intent, 0);
AlarmManager alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
alarm.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), i*24*60*60*1000, pIntent); //i varies, i is no of days after which the service will start

如何在服务启动后取消特定警报?我在 AndroidService 中尝试了以下代码,但我无法在此处访问 StartAlarmActivity.this 和 getSystemService。

Calendar calendar = Calendar.getInstance();
Intent intent = new Intent(StatAlarmActivity.this, AndroidService.class);
PendingIntent pIntent = PendingIntent.getService(StatAlarmActivity.this, 0, intent, 0);
AlarmManager alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
alarm.cancel(pIntent);

请帮帮我。

最佳答案

如果您要在不同于您开始的 Activity 中取消警报管理器,请尝试使用 getActivity() 而不是 StatAlarmActivity.this

第一个参数是上下文。

来自 http://developer.android.com/reference/android/content/Intent.html#Intent(android.content.Context , java.lang.Class)

语法:

公共(public) Intent (上下文 packageContext,类 cls)

参数:packageContext 实现此类的应用程序包的上下文。cls 用于 Intent 的组件类。

关于Android:取消服务中的警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23949491/

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