2012-03-22 5 views
13

AppWidgetProviderにPendingIntentを使用している場合、私は次のコードを使用していますがキャンセル。特定の状況で、私は今、PendingIntentを取り消したいと思っています。ビューからPendingIntentを取得する方法はありますか?または、後でPendingIntentのcancelメソッドを呼び出す唯一の方法は、それを参照することです。はPendingIntent

+0

参照http://stackoverflow.com/a/4350149/165674 –

+0

ありがとう、Dheeraj!私は少し急いでいますが、私はそれをチェックして、それをできるだけ早く試してみます。乾杯! –

答えて

29

あなたはそれをキャンセルしたい場合は、あなたが(どこかに自分のコードベースで)次の操作を行います:intentは上記のコード内で参照されるものと同じである

PendingIntent.getBroadcast(context, 0, intent, 
          PendingIntent.FLAG_UPDATE_CURRENT).cancel(); 

PendingIntent.FLAG_UPDATE_CURRENTを使用するPendingIntent.getBroadcast(...)は、既に作成された既存のものへの参照を返します。または、現在存在しない場合は作成します。

+0

ああ、それは確かにトリックでした。 :)ありがとう! –

+2

getBroadcastはこのフラグを使用する場合に同じオブジェクト* reference *を返しますか? –

関連する問題