利用可能な最良のプロバイダーを取得するために、以下のコードを作成しました。
private static String provider;
public static String setCriteria(LocationManager locationManager) {
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(true);
criteria.setPowerRequirement(Criteria.POWER_MEDIUM);
provider = locationManager.getBestProvider(criteria, true);
LocationProvider locProvide = locationManager.getProvider(provider);
if (provider == null) {
provider = LocationManager.GPS_PROVIDER;
}
return provider;
}
ロケーションを取得するために使用するプロバイダーを見つけるために、このコードを使用しています。ここで確認したいのは、プロバイダーのステータスです。LocationProvider には 3 つの状態 Available、Out of Service、TEMPORARILY_UNAVAILABLE があることをドキュメントから読みました。ロケーションリスナーにリクエストする前に、ステータスを確認する必要があります。
ステータスが TEMPORARILY_UNAVAILABLE または Out of Service の場合、ユーザーはそれに応じてメッセージを受け取ります。それ以外の場合は場所を見つけます。私の質問はどうすればステータスを確認できますか?
誰かが何か考えを持っているなら、親切に私を助けてください...