2

嗨,我正在开发小型 android 应用程序,我在其中使用接近警报。所以一切正常。现在,一旦触发输入事件,我想做什么,我想删除该警报。怎么做?我可以在广播接收器或其他地方做吗?我的代码看起来像。

// in abc class
PendingIntent proximityIntent = PendingIntent.getBroadcast(
                    context, 0, intent,
                    PendingIntent.FLAG_CANCEL_CURRENT);

        locationManager.addProximityAlert(
                latitude, 
                longitude, 
                POINT_RADIUS, 
                PROX_ALERT_EXPIRATION,
                proximityIntent                );

// this is broadcast receiver 
public void onReceive(Context context, Intent intent) {

        String key = LocationManager.KEY_PROXIMITY_ENTERING;

        Boolean entering = intent.getBooleanExtra(key, false);

        if (entering) 
        {
            // here I want to stop this alert... ANy solution how to stop this          
            }
        else
        {
        } 
 }

怎么做?需要帮忙。谢谢你。

4

2 回答 2

0

使用位置管理器。删除ProximityAlert(PendingIntent)。只需将它传递给您传递给 addProximityAlert 的意图。如果您现在没有保存,则必须将其保存到 Activity/Service 中的变量中。

于 2013-04-01T06:18:00.687 回答
0

以我的经验,待定意图有一个不同的标志:

PendingIntent proximityIntent = PendingIntent
                                            .getBroadcast(
                                                    NotificationService.this,
                                                    0,
                                                    intent,
                                                    PendingIntent.FLAG_ONE_SHOT);

当通知被看到、丢弃或使用时,我得到了这个代码:

((NotificationManager) getSystemService(NOTIFICATION_SERVICE))
                    .cancel(NOTIFICATION_ID);

在您的代码中,通知 id 将为 0。第一个选项是停止警报,第二个选项是从通知菜单中将其关闭。

于 2013-09-16T14:32:20.880 回答