3

アプリケーションを初めて実行すると、アラームが開始され、非常にうまく機能します。

Intent intent = new Intent(this, Kill_Task.class);  
PendingIntent pendingIntent = PendingIntent.getBroadcast(
                   this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);  

AlarmManager objAlarmManager = 
     (AlarmManager) getSystemService(Context.ALARM_SERVICE);  
objAlarmManager.setRepeating(
     AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 1000, pendingIntent);

現在、アラームがバックグラウンドで継続しているため、電話の電源を切る必要があります。電話の電源を入れても、アラームのバックグラウンド処理が開始されません。

どうしてこれなの?

4

1 に答える 1

1

1)アラームは、定義された保留中のインテントオブジェクトを毎秒繰り返します。AlarmManager.setRepeating(...
2)呼び出す必要のあるアラームをキャンセル/停止しますobjAlarmManager.cancel(pendingIntent);。定義した保留中のインテントにpendingIntent一致するもの(同じクラス、同じアクション...比較を考慮していない追加のデータを除く...インテントが別のインテントとどのように一致するかについては、 IntenFilterを参照してください
3)。保留中のインテント自体をキャンセルpendingIntent.cancel();して、保留中のインテントが使用できないことを確認します。

于 2011-08-19T17:57:46.623 に答える