15

これが新しい Android GeoFence サンプル コードのバグなのか、それとも何をすべきかについての私の理解が間違っているのかはわかりません。サンプル アプリはジオフェンスを作成しますが、ジオフェンスが破られたときにアラートを出しません。これを試して確認したい場合は、ここからサンプル コードをダウンロードできます。

https://developer.android.com/training/location/geofencing.html

これは、サンプルアプリが行うことを期待していたことです:

  • 2 つの異なるジオフェンスをセットアップします。私の場合、それぞれの緯度/経度を入力して、1 マイル離れた 2 つのポイントを選択しました。また、半径を 250m に設定しました。
  • これらの 2 つの場所のそれぞれに次々と車で行きましたが、ジオフェンスが破られたことを示す通知がポップアップ表示されると思いました。

この場合、通知もログ メッセージも登録されていないため、「ReceiveTransitionsIntentService」が呼び出されませんでした。1 つの観察結果として、最初の場所に車で移動し、その場所に新しいジオフェンスを追加すると、通知がすぐに送信されますが、設定して移動した他の場所 (ジオフェンス) には何も起こりません。

理由はありますか?サンプル アプリの機能に関する私の理解は正しいですか?

運転中にジオフェンスに違反したときにアラートを受け取るには、サンプル コードに加えて何かを行う必要がありますか? ジオフェンスの監視はジオフェンスの作成とは別のものですか?ここで何が欠けていますか?

ご意見をお寄せいただきありがとうございます。アプリでこれを使用することを非常に熱望していますが、現在は立ち往生しています。

ありがとう、トリ。

4

6 に答える 6

2

API が GPS を「オン」にすることはありません。GPS を自分で開始する必要があります。

于 2013-05-29T16:44:51.107 に答える
1

最初は私も同じことを考えていました。半径がメートル単位なので、KMS / マイルになると思いました。そのため、非常に小さな値を入力しました。その後、いくつかの実験の後、私はそれを見つけました。より大きな値を入力すると、Nexus 5で魅力的に機能しました

于 2014-10-11T17:04:10.620 に答える
0

GeofenceDetection サンプル コードを試しましたが、動作しています。私は Wifi と GPS のみを使用しており、半径を 15 メートルに設定しています。私がその地域に歩いたとき、すぐに通知が表示されません。数秒後、「入力」通知を受け取りました。また、リージョン内でじっとしていても、リージョンから出ると通知されることがありました。これにより、アプリが領域内外を飛び回るような感覚になります。

于 2013-06-27T18:40:49.650 に答える
0

Google Play サービスの Location API と Geofence API の両方を使用するテスト アプリを作成しました。Location API を使用して、現在の位置を 1 秒単位で取得しました。ジオフェンスを設定すると、現在の場所からジオフェンスの中心までの距離が表示され、位置が更新されるたびに更新されます。

ジオフェンスが設定された直後に、エントリ イベントが発生します。そのイベントをクリアして、ジオフェンスの範囲外を散歩します。表示される距離は狂ったように遅れます。位置が追いつくまで3分ほどかかりました。帰りも同様のタイムラグが発生。

残念ながら、Play Services はクローズド ソースです。そのアルゴリズムの限界を理解したいと思います。

于 2014-08-01T05:19:18.560 に答える