Androidで簡単なタスクアプリを開発していますが、AlarmManagerで通知を作成する必要があります。私の問題は、削除すべき特定のアラームがあることとその通知であることですが、そうではありませんので、Delete alarm from AlarmManager using cancel() - Androidなどの投稿をフォローして、AlarmManagerを静的変数にして、同じインスタンスに全体的に到達できるようにしましたアプリ。Androidの静的AlarmManager
public static AlarmManager getAlarmManagerInstance() {
if (sAlarmManager == null && sContext != null)
sAlarmManager = (AlarmManager) sContext
.getSystemService(Context.ALARM_SERVICE);
return sAlarmManager;
}
とsContext
変数がこのようにインスタンス化される中:
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.activity_main);
sContext = this;
initActionBar();
}
は、それがすることをお勧めします私はこれをやっている の方法は、私のメインのクラスで、次のメソッドを持っていますこの変数からシングルトンパターンを作成しますか?より良いアプローチはありますか?
ありがとうございます。
は保留中の意図を作成するために、同じIDを使用..それは同じ仕事をします –
しかし私は 'PendingIntent pendingFirstAlarmIntent = PendingIntent.getBroadcast( \t \t)のような方法で、保留中のインテントを作成するために作成/修正したいタスクのIDを使用しています。 \t \tこの、mGoal.getId()intValue()、意図、 \t \t \t \t \t PendingIntent.FLAG_ONE_SHOT); '..それはまだ同じですか? – noloman
はいこれは同じです...これがアラームをキャンセルしていない場合は、別のフラグを使用してみてください... –