7

GPS_PROVIDERNETWORK_PROVIDERを同じで使用する十分にテストされた既存のアプリがありLocationListenerます。

LocationManagerレポート gps、ネットワーク、およびパッシブ ロケーション プロバイダーが利用可能で有効になっています。

最近、Galaxy Nexus を 4.1.1 にアップグレードしましたNETWORK_PROVIDERが、場所の変更が配信されなくなりました。4.0.4 を実行している Galaxy S III でのテストは、私が慣れているように機能し、WiFi がオフになっていても、ネットワークの場所の更新が行われます。WiFi をオフにすると、基地局の位置を取得します。

ここで同僚と話していると、ある種の偶発的なハードウェア障害や、私が発見していないデフォルト設定の変更を除外することはできません。設定全体を再確認しましたが、すべてが正しく設定されているようです。

WiFi がオン、セル ネットワークがオン、GPS がオン、ネットワーク サービスがすべて有効になっています。私のデスクには GPS 信号がないので、ネットワークの場所から結果が得られない場合はすぐにわかります。

Verizon Galaxy Nexus + 4.1.1、または 4.1.1 と任意の電話で同様の問題に遭遇した人はいますか?

追加のしわとして、Google マップは私の場所を見つけていますが、私PASSIVE_PROVIDERの場所も生成していません。

4

2 に答える 2

7

に関しては、Android の動作は変更されていませんNETWORK_PROVIDER

何が問題なのか、その理由はわかりませんが、Galaxy Nexus のバッテリーと SIM カードを取り外して交換したところ、ネットワーク プロバイダーは正しい結果を提供しているようです。

私への教訓?ネットワークプロバイダーが利用可能で、有効で、接続されていることが確実であっても、リスナーに位置情報が報告されるとは思わないでください。

私の場合は、別のチェックを追加してLocationListener、場所が報告されない場合に実行が継続されないようにする必要があります。

于 2012-09-28T14:24:52.763 に答える
2

この問題について誰かの推測を読んだことがあります。「一部のデバイスでは、リクエスト後に更新がない場合、ネットワークプロバイダーはコールバックを提供しません」.

その可能性を考慮してください。

私の場合、getLastKnownLocation()現在地の追跡を開始する前に a を使用します。この記事ctrlで+f getLastKnownLocationを試してみてください。

于 2012-10-19T06:18:36.583 に答える