関連するlatとlongを取得し、データベースを更新するアプリケーションを作成しました。問題は、家や商店街のような屋根の下にいると、アプリでGPS検索アイコンが表示され続けることです。
Mylocation()とそのリスナーをトリガーするためにボタンを使用しています。
ボタンには次のものがあります。
locationListener = new MyLocationListener();
location.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 5, locationListener);
そしてmylocationlistenerメソッドの下で私は持っています
private class MyLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location loc) {
try {
Thread.sleep(1000);
Toast.makeText(getBaseContext(),"Location: Lat:" + loc.getLatitude() + " Lng:" + loc.getLongitude(),Toast.LENGTH_SHORT).show();
location.removeUpdates(locationListener);
location = null;
finish();
}
catch (InterruptedException e) {
e.printStackTrace();
}
}
問題なく適切にトーストされた値を取得し、アプリが終了するとGPSアイコンが消えますが、屋根の中にいると、上部のGPSアイコンがGPSを検索し続けます。アイコンは消えません。
これを修正するにはどうすればよいですか?GPS信号が良好である場合、メッセージGPS信号が良好でない場合でも、GPSを開始する条件を設定する必要がありますか。もしそうなら、どのように?
ありがとう!