新しい Google Play ジオフェンシング サービス API をテストしています。
Android デベロッパー サイトからサンプル コードをダウンロードしました。次に、サンプル コードを Android デバイス (Galaxy Note 2) で実行しました。オフィスの地理的位置と半径を 10m に設定しましたが、オフィスまで歩いても何も起こりませんでした。
サンプル コードを実行しているときに気づいたことの 1 つは、既にジオフェンス範囲内にいて、ジオフェンスを に追加してLocationClient
も何も起こらないことです。
私はすでにLocationClient
クラスのドキュメントを読んでおり、次の段落を見つけました。
ネットワーク ロケーション プロバイダーがユーザーによって無効にされた場合、ジオフェンス サービスは更新を停止し、登録されているすべてのジオフェンスが削除され、指定された保留中のインテントによってインテントが生成されます。この場合、
hasError(Intent)
は true をgetErrorCode(Intent)
返し、 を返しますGEOFENCE_NOT_AVAILABLE
。」
そこで、WiFi をオンにして、オフィス (ジオフェンス内) に向かって歩いていたところ、「ジオフェンスが入力されました」という通知を受け取りました。
次の質問があります。
ジオフェンシングは、WiFi が有効になっている場合にのみ機能しますか?
3G ネットワークが提供する位置情報が機能しないのはなぜですか?
これはサンプル コードのバグですか?
それともこれは私の間違いですか?