3

場所を取得する Android アプリを作成しました。GPS_PROVIDER を使用しようとしましたが、null が返されました..しかし、NETWORK_PROVIDER を使用するとスムーズに動作します..これを修正するのに役立つ人はいますか?

ここにコードがあります

ロケーション location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);

.. で置き換える"NETWORK_PROVIDER"と、場所が null になります。"GPS_PROVIDER"

マニフェストに次の 3 つのアクセス許可を追加しました

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
4

3 に答える 3

0

ドキュメントによると

プロバイダーが現在無効になっている場合は、null が返されます。

null を受信しないように、デバイスで GPS がアクティブになっていることを確認します。

編集:
また、またはおそらく2回実行requestLocationUpdates()してみてください。は最速の方法で場所を取得し、検索を停止します。GPS の場所はネットワークの場所よりも取得に時間がかかるため、見つかった場合はすぐに停止し、GPS に対して null を返します。GPS_PROVIDERNETWORK_PROVIDERLocationManager

于 2012-10-21T02:38:05.820 に答える