gpt4 book ai didi

android - 关闭和删除警报

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

我想关闭一个闹钟并同时删除两个不同 Activity 中的一个闹钟。我要为这两个 Activity 使用什么功能? alarmmanager.cancel() 关闭或删除警报?

我写了这段代码:

Button DeleteButton = (Button) this.findViewById(R.id.dismiss_button);
DeleteButton.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
// Build Intent and Pending Intent to Set Snooze Alarm
Intent AlarmIntent = new Intent(AlarmActivity.this,
AlarmReceiver.class);
AlarmManager AlmMgr = (AlarmManager) getSystemService(ALARM_SERVICE);
PendingIntent Sender = PendingIntent.getBroadcast(
AlarmActivity.this, 0, AlarmIntent, 0);
AlmMgr.cancel(Sender);
finish();

}

});

当我运行它时应用程序崩溃了。有好心人帮忙吗?

最佳答案

我认为在取消它之前,您需要使用未决 Intent 调用 alarmManager 的 set 方法,例如

//Set an alrm for 5 seconds from now
AlmMgr.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 5000 ,Sender)
//Do stuff
...
//Cancel alarm
AlmMgr.cancel(Sender)

如果没有看到您的 LogCat 输出,很难确定,但我猜想在设置警报之前尝试取消警报会引发异常。根据 API,.cancel() 将删除警报,因此它永远不会响起:

http://developer.android.com/reference/android/app/AlarmManager.html#cancel(android.app.PendingIntent )

如果它已经在响起,我无法确认它会停止并取消警报,但你应该能够很容易地检查这一点。

关于android - 关闭和删除警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8396285/

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