如何在android中取消报警?
我正在开发一个应用程序,我可以在其中创建事件并为事件设置警报。我需要知道如何取消闹钟。我有麻烦了。任何人都可以帮我,谢谢 更新如何在android中取消报警?,android,alarm,cancel-button,Android,Alarm,Cancel Button,我正在开发一个应用程序,我可以在其中创建事件并为事件设置警报。我需要知道如何取消闹钟。我有麻烦了。任何人都可以帮我,谢谢 更新 发布代码,请参见下面的代码。AlarmClass.java Button buttonCancel = (Button) findViewById(R.id.btnCancel); buttonCancel.setOnClickListener(new Button.OnClickListener() { @O
发布代码,请参见下面的代码。AlarmClass.java
Button buttonCancel = (Button) findViewById(R.id.btnCancel);
buttonCancel.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View arg0)
{
Intent i = new Intent(AlarmClass.this, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(AlarmClass.this, 1, i, 0);
AlarmManager aManager = (AlarmManager) getSystemService(ALARM_SERVICE);
aManager.cancel(pendingIntent);
Toast.makeText(getApplicationContext(), "Alarm has been cancelled", Toast.LENGTH_SHORT).show();
}
});
您可以通过AlarmManager的
cancel()
方法简单地取消报警
AlarmManager am;
.
.
.
am.cancel ( PendingIntent operation );
例如
Intent intent = new Intent(this, AlarmReceive.class);
PendingIntent sender = PendingIntent.getBroadcast(this,0, intent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.cancel(sender);
您需要将
pendingent
的对象传递到cancel()方法。要停止服务,您可以使用stopSelf()代码>需要注意的一点是,AlarmManager实际上会在调用cancel()时发送PendingEvent,这有点愚蠢。为什么会这样,我不知道。不确定你是否注意到了,但我注意到了。要解决此问题,我在PendingEvent本身上调用了cancel():
myntent = new Intent(SetActivity.this,AlarmActivity.class);
pendingIntent = PendingIntent.getActivity(CellManage_AddShowActivity.this,
id, myntent,PendingIntent.FLAG_UPDATE_CURRENT);
pendingIntent.cancel();
alarmanager.cancel(pendingIntent);
我已经在我的应用程序中对其进行了编码,但没有成功。我会发布我的代码,看看我的代码中是否有任何错误或遗漏。什么??您已启动闹钟并在下次取消它?那么警报的目的是什么?我只是想测试一下,如果我取消了为用户创建的事件设置的警报,那么,为什么您只在下一行取消它?单击另一个按钮取消它。我有另一个按钮来设置闹钟。此按钮用于取消正在设置的报警。但我们的代码是一样的。所以我的问题是如何取消警报。