2

私のユースケース:

-たとえば、私のアプリには、サーバーから取得した 3 つの経度/緯度の場所があります。これらは、フェッチ間で変更される場合があります。- 3 つすべてに近接アラートを追加したいのですが、場所を再取得するときに、経度/緯度が変更された場合に備えて近接アラートを再作成したいと考えています。

locationmanager でメソッドを見て、いくつかの例を見つけましたが、「removeAll」メソッドがどこにも表示されず、それを行う方法も見つかりませんでした。毎回一意のIDを使用して、保留中の意図を作成し、警告し、各場所の受信者を登録する必要があることに対処します...

基本的に、すべての近接アラートに同じインテント/保留インテントを使用することを望んでいたので、後で削除を呼び出すときに、メソッドを 1 回呼び出すだけで、すべての近接アラートが次のコードのように削除されます。

任意のヒント?これは完全に不可能ですか?

//CREATE (i would use the same way to create intent for all my proximity alerts, and have one broadcastreciever that receives all for the intent with that ID):
Intent intent = new Intent(PROX_ALERT_INTENT_ID);
    PendingIntent proximityIntent = PendingIntent.getBroadcast(activity.getApplicationContext(), 0, intent, 0);
    lm.addProximityAlert(
        latitude,
        longitude,
        POINT_RADIUS,
        PROX_ALERT_EXPIRATION,
        proximityIntent
    );

//REMOVE:
Intent intent = new Intent(PROX_ALERT_INTENT_ID);
    PendingIntent proximityIntent = PendingIntent.getBroadcast(activity.getApplicationContext(), 0, intent, PendingIntent.FLAG_NO_CREATE);

//i had hoped that this call would remove all alerts at once?
lm.removeProximityAlert(proximityIntent);
4

0 に答える 0