删除和添加多个邻近警报

时间:2012-12-29 10:36:07

标签: android location locationmanager proximity

我的用例:

- 我的应用程序有例如我从服务器获取的3个lon / lat位置。这些可能在提取之间发生变化。 - 我想为所有这三个添加proximityalerts,但是当我重新获取我希望重新创建感兴趣区域的位置时,如果lon / lats已经改变。

我已经在位置管理器中看到了这些方法并找到了一些示例,但我看不到" removeAll"任何地方的方法,我也找不到办法。所有处理我必须创建pendingintent,提醒并注册每个位置的接收器,每次都有一个唯一的ID ...

我原本希望基本上对我所有的感应区使用相同的intent / pendingintent,所以当我稍后调用remove时,我只需要调用一次方法,并且我的所有感应区都会被移除,就像下面的代码一样。

任何提示?这完全不可能吗?

//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);

0 个答案:

没有答案