0
public class MyReceiver extends BroadcastReceiver

    private Intent intentOnAlaramReceiver;
    private AlarmManager alarmManager;
    private PendingIntent pendingIntent;

ドキュメントで言った:

BroadcastReceiver オブジェクトは、onReceive(Context, Intent) への呼び出しの間のみ有効です。コードがこの関数から戻ると、システムはオブジェクトが終了し、アクティブではなくなったと見なします。

しかし、私は使用していAlarmManagerます。クラスが破棄された場合、onReceiveどうすれば使用できますか

alarmManager.cancel(pendingIntent);

レシーバーが破棄されないというベストプラクティスは何ですか。アプリは 1 日以上生きている必要があります...

4

1 に答える 1

1

アラーム マネージャーをキャンセルするには、同じ PendingInent を渡すだけです - http://developer.android.com/reference/android/app/AlarmManager.html#cancel%28android.app.PendingIntent%29

そのため、アラーム マネージャをキャンセルしたいときはいつでも実行できます (たとえば、ボタンを押した場合 - OnClickListener または onReceive 自体)。

于 2013-02-25T14:46:32.213 に答える