GPSの起動はインスタントプロセスではありません。レシーバーは基本的に、その場所を計算するために、星座内の各GPS衛星の位置を知る必要があります
最初に使用できる最後の既知の場所があるかどうかを確認していますか?ほとんどのアプリは最初にそれをチェックしてから、場所を検索します。
質問
デバイスのGPSを使用して、デバイスの現在の場所を取得しようとしています。私がアップデートに登録するとき(以下に示すように) LocationManager.GPS_PROVIDER
更新はありませんが、私が同じことをするとき LocationManager.NETWORK_PROVIDER
アップデートを取得します。
Androidデバイスでテストしました(エミュレータではありません)。また、GPSがオンになっていることを確認しました。他のアプリ(私のものではない)は、私の場所にアクセスできます。ここに何が欠けていますか?
LocationListener locationListener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
locationRetrieved(location, this);
}
public void onStatusChanged(String provider, int status, Bundle extras) {}
public void onProviderEnabled(String provider) { }
public void onProviderDisabled(String provider) { providerDisabled(); }
};
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
解決
GPSの起動はインスタントプロセスではありません。レシーバーは基本的に、その場所を計算するために、星座内の各GPS衛星の位置を知る必要があります
最初に使用できる最後の既知の場所があるかどうかを確認していますか?ほとんどのアプリは最初にそれをチェックしてから、場所を検索します。
他のヒント
携帯電話がGPSを使用して場所を集めることを許可していることを確認する必要があります。
確率的に何が起こっているのか、設定 - >場所では、ワイヤレスの場所のチェックボックスのみがあることです。その場合、GPS_Providerは機能しません。