LoccationListener дает мне одно и то же место в журнале каждый раз без обновления

107
10

Я использовал LocationListener в своем приложении, чтобы получить мое местоположение, проблема заключается в том, что метод повторяется и постоянно дает мне местоположение каждую секунду, когда я регистрирую местоположение

public class MainActivity extends AppCompatActivity {

LocationManager locationManager ;
LocationListener locationListener ;

public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode==1){
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
if (ContextCompat.checkSelfPermission(this,Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED){
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
}} else {
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,locationListener);
}
}}

@SuppressLint("MissingPermission")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

locationManager = (LocationManager)this.getSystemService(LOCATION_SERVICE);

locationListener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
Log.i("Location : ", String.valueOf(location.getLatitude()+" "+location.getLongitude()));
Toast.makeText(MainActivity.this, String.valueOf(location.getLatitude() + " " + location.getLongitude()), Toast.LENGTH_SHORT).show();
}

@Override
public void onStatusChanged(String s, int i, Bundle bundle) {

}

@Override
public void onProviderEnabled(String s) {

}

@Override
public void onProviderDisabled(String s) {

}
};
if (Build.VERSION.SDK_INT<23){
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,locationListener);
}else {
if (ContextCompat.checkSelfPermission(this,Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION},1);
}else{
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,locationListener);
}
}
}
}

что мой журнал повторяет одно и то же место каждую секунду, я не мог найти ничего плохого

06-26 13:29:33.019 19954-19954/com.example.arabtech.myapplication 
I/Location:: 31.205798333333338 29.924498333333336
06-26 13:29:43.021 19954-19954/com.example.arabtech.myapplication
I/Location :: 31.205798333333338 29.924498333333336
06-26 13:29:53.051 19954-19954/com.example.arabtech.myapplication
I/Location :: 31.205798333333338 29.924498333333336
06-26 13:30:03.019 19954-19954/com.example.arabtech.myapplication
I/Location :: 31.205798333333338 29.924498333333336
06-26 13:30:13.015 19954-19954/com.example.arabtech.myapplication
I/Location :: 31.205798333333338 29.924498333333336
06-26 13:30:23.044 19954-19954/com.example.arabtech.myapplication

Надеюсь, вы сможете быстро помочь мне

спросил(а) 2018-06-26T15:09:00+03:00 2 года, 4 месяца назад
0
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема