这qustion已经很多问我试图回答的很多,并没有工作,所以这是最常见的一种如何检查AlarmManager是否已经工作?
public void onClick(View v) {
boolean alarmUp = (PendingIntent.getBroadcast(MainActivity.this ,0,
new Intent(MainActivity.this,Notifications.class),
PendingIntent.FLAG_NO_CREATE) != null);
if (alarmUp)
{
am.cancel(pend);
Intent alarmIntent = new Intent(MainActivity.this,Notifications.class);
final PendingIntent pendingIntent =
PendingIntent.getBroadcast(MainActivity.this, 0, alarmIntent,
PendingIntent.FLAG_NO_CREATE);
if (pendingIntent != null) {
pendingIntent.cancel();
}
Toast.makeText(MainActivity.this,"Tweak cleared", Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(MainActivity.this,"There is no Tweak!", Toast.LENGTH_LONG).show();
}
这个按钮在我的MainActivity,每次它的pressed我要检查是否有是一个闹钟还是没有,那么如果有取消闹钟“am”和吐司按摩..现在应用程序总是在else语句中敬酒按摩“没有调整!”即使有闹钟..我是Android的初学者,所以将不胜感激任何帮助..谢谢。
编辑
这是我的MainActivity另一个按钮用于启动报警
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
intent = new Intent(getApplicationContext(), Notifications.class);
pend = PendingIntent.getBroadcast(getApplicationContext(), 100, intent, PendingIntent.FLAG_UPDATE_CURRENT);
am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 1000 * 60, pend);
我按下这个按钮之前我按另一种是将其取消。
编辑
这是我的其他的尝试来检查报警并取消it..it工作,但是当我关闭应用程序,它再次告诉没有报警打开它“有没有好办法!”即使有一个
cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (am != null && pend != null) {
am.cancel(pend);
pend = null;
Toast.makeText(MainActivity.this,"Tweak cleared", Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(MainActivity.this,"There is no Tweak!", Toast.LENGTH_LONG).show();
}
}
});
挂起和我都被因为你正在使用的标志“PendingIntent.FLAG_NO_CREATE”中的“开始”按钮初始化
感谢
我添加了创建待定意图的代码 –
我没有使用相同的pendind意图我想通了......感谢:) –
是的,你没有使用相同的未决意图。 –