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

私の経験では、Pending インテントには別のフラグがあります。

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

通知が見られたり、破棄されたり、使用されたりすると、次のコードが表示されます。

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

コード内の通知 ID は 0 になります。最初のオプションはアラートを停止することで、2 つ目は通知メニューからアラートを消すことです。

于 2013-09-16T14:32:20.880 に答える