2

私の携帯電話(Android)が地図上の特定のエリアに入ったかどうかを検出する必要があります-エリアは約300mx300mです。

電話の位置を取得すると、計算を行うことができます(これは簡単な部分のようです!)。電話をフォローして定期的に更新するための最善の戦略がわからないだけです。これは私がこれまでに持っているものです:

AlarmManagerは(現在)1分ごとに起動します...これを約10分以上にします。AlarmManagerは、15分未満の場所が任意のプロバイダー(GPSまたはネットワーク)から利用可能かどうかを確認します。利用可能な場所がない場合、または15分より古い場合は、単一の更新を要求します。

私はこれを持っています:

criteria.setAccuracy(Criteria.ACCURACY_COARSE);
criteria.setPowerRequirement(Criteria.POWER_LOW);

...それはネットワークプロバイダーを取り上げる可能性が高いですね。現時点ではあまり正確ではないようですが、現在、私の電話は途中に置かれています。

これは間違った戦略かもしれません。300m x 300mのエリア内には、WifiアクセスポイントとBluetoothポイントがあります。これらを使用して、電話が近くにあることを検出できますか?

4

1 に答える 1

1

これにはProximityAlertを使用する必要があります。

マップ上の位置 (緯度と経度) と半径を定義できます。定義された領域に出入りすると、インテントが送信されます。このインテントをキャッチして、アプリケーションで使用できます。

于 2013-02-03T17:53:27.550 に答える