2017-06-14 23 views
-1

私のアプリケーション、GPSが利用可能な場合、Wi-Fiなどの他の手段から利用できない場合は、位置情報を利用したいと思います。GPSがないときにAndroidの場所が利用できない

場所情報は、GPSと正常に動作しますが、私は 設定 - > Personal->場所のモードを有効にした場合=バッテリ節電 は、非GPSシナリオを行使、またはちょうどこれらは、位置情報はGPSへのアクセスをされていないアプリケーションを実行するために、アプリで使用できなくなりました。 GPSが利用できないときに私のコードで

このテストはfalseを返します。

 string Provider = LocationManager.GpsProvider; 
     if (m_LocMgr.IsProviderEnabled(Provider)) 
      Log.Info("location available"); 
     else 
      Log.Info("location NOT available"); 

マイmanifest.xmlには、以下のように設定されています

... 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <uses-feature android:name="android.hardware.location.gps" /> 
... 

任意のアイデアください。 GPSが利用できないときに位置情報サービスを有効にするにはどうすればいいですか?

+1

「LocationManager」のネットワークプロバイダはどうですか? – Blackkara

+0

おかげでBlackkara。それが問題でした。 – MHugh

答えて

0

答えは、単にGPSプロバイダーに加えてネットワークプロバイダーを有効にすることでした。

 Provider = LocationManager.NetworkProvider; 
     if (m_LocMgr.IsProviderEnabled(Provider)) 
      m_LocMgr.RequestLocationUpdates(Provider, 2000, 1, this); 

私はアクセス許可のドキュメントを誤解していました。 Fine(GPS)パーミッションを使用すると、暗黙的にCoarse(Network)パーミッションを取得しても、両方でコードを有効にする必要はありません。

関連する問題