gpt4 book ai didi

android - 警报管理器和未决 Intent 取消不起作用

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

我从 Activity 中安排警报,例如。

   private AlarmManager mAlarmManager;  
mAlarmManager = (AlarmManager) ACT_ActiveSession.getAppContext()
.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(mContext, LocalNotification.class);
intent.putExtra("alertBody", "");
intent.putExtra(K.SESSIONID, "");
intent.putExtra("TIME", "");
intent.putExtra("BATCHNO","");
intent.putExtra("REQUEST_CODE", "");
PendingIntent pendingIntent = PendingIntent.getBroadcast(
ACT_ActiveSession.getAppContext(), REQUEST_CODE, intent, 0);
mAlarmManager.setExact(AlarmManager.RTC_WAKEUP, finishTime,
pendingIntent);
// alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, finishTime,
// (1 * 1000), pendingIntent);

intent.putExtra("",""); 仅用于 BroadcastReceiver 上的某些任务

并从 fragment 取消警报

private AlarmManager mAlarmManager; 

mAlarmManager = (AlarmManager) mActivity
.getSystemService(Context.ALARM_SERVICE);
Intent updateServiceIntent = new Intent(mActivity,
ACT_Home.class);

PendingIntent pendingUpdateIntent = PendingIntent.getBroadcast(
mActivity, REQUEST_CODE,
updateServiceIntent, 0);
pendingUpdateIntent.cancel();
// Cancel alarms
if (pendingUpdateIntent != null) {
mAlarmManager.cancel(pendingUpdateIntent);
Log.e("", "alaram canceled ");
} else {
Log.e("", "pendingUpdateIntent is null");
}

但是报警管理器并没有被取消。这里我更改了 mActivity = MyActivity 的静态 getApplicationContext(); 并且还更改了不同的 Flags 和不同的 Context。

我也引用了很多答案。 但对任何代码都不起作用。 Link1 Link2 Link3

请尽快给我解决方案。并为我糟糕的英语道歉。

最佳答案

您使用此 Intent 创建警报:

Intent intent = new Intent(mContext, LocalNotification.class);

但是您尝试使用此 Intent 取消它:

Intent updateServiceIntent = new Intent(mActivity, ACT_Home.class);

这些 Intent 不匹配,因此取消不执行任何操作。如果您想取消闹钟,您需要在取消调用中使用一个 Intent,该调用与您用来安排闹钟的 Intent 相匹配。

关于android - 警报管理器和未决 Intent 取消不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32306355/

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