這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意圖我想通了......感謝:) –
是的,你沒有使用相同的未決意圖。 –