0

onResume でこのコードを使用します。

final LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);

        if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
            locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10 * 1000, 10, this);
        } else {
            locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 10 * 1000, 10, this);
        }

Activity に LocationListener を実装しました。デバッガーで見ると、GPS_PROVIDER が有効になっています。アプリが動作しているときに GPS アイコンも表示されます。設定でGPSが有効になっています。両方の権限が設定されています。しかし、onLocationChanged が呼び出されることはありません。このコードは、数週間前には問題なく機能していました。

4

2 に答える 2

2

最短時間 10 秒、最短距離 10 メートルで更新を設定します。これらの最小条件に達していることを確認してください。すべての条件を 0 に設定して、もう一度確認してください。

また、地図アプリケーションを使用するなどして、GPS の更新が正常に機能していることを確認します。デバイスが「コールド」スタートで GPS を使用している場合、10 ~ 20 分以上更新を受信できません。

于 2013-06-15T10:18:22.930 に答える
1

私はあなたをお勧めします

  1. と の両方をLog.d(...)チェックするために使用します。locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)
  2. 、およびへのLog.d(...)すべての呼び出しをキャプチャするためにも使用します。onProviderDisabled(...)onProviderEnabled(...)onStatusChanged(...)
結果の出力で問題を解決できると思います。

于 2013-06-15T10:09:44.290 に答える