2011-06-28 1 views
1

構成された場所を入力するか、出るとき近接アラートではLocationManager.KEY_PROXIMITY_ENTERINGを使用できません。

LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
Intent intent = new Intent(Constants.ACTION_PROXIMITY_ALERT); 
intent.putExtra(Constants.INTENT_EXTRA_LOCATION, location); // custom payload 
PendingIntent pendingIntent = PendingIntent.getService(this, 0, intent, 0); 

locationManager.addProximityAlert(location.getLatitude(), 
    location.getLongitude(), location.getRadius(), -1, pendingIntent); 

を経由して与えられた座標のセットのための近接警告のために登録した後、私は私のサービスに配信インテントを取得しています。ここまでは順調ですね。

残念ながら、Intent.getBooleanExtraで取得できる場所の変更のタイプ(入力または終了)を識別するブール型の追加のLocationManager.KEY_PROXIMITY_ENTERINGはありません。私の観察は、AOSP 2.1とAOSP 2.2に基づいています。 documentationによれば、この余分は常に存在するはずです。

私が逃したことはありますか?エミュレータ上でモックロケーションを使用して実行しているときに、この余分な点に関しては制限がありますか?

答えて

5

これは明らかに、追加可能なシリアライズ可能な余分をPendingIntentに入れることによって発生しているようです。回避策として、独自のシリアル化を実行するか、余分なペイロードが必要な場合はプリミティブ型またはストリングを格納してください。

+0

まだ問題があるようです。4.1.2 ...(facepalm)誰かがこれを修正しようとしていますか? –

+0

@devilleこの問題を修正したい場合は、https://code.google.com/p/android/issues/listでバグの問題を提起する必要があります。 –

関連する問題