OnLocation изменилось не обновляется
Я пытаюсь научиться получать координаты GPS в приложениях Android. Я пытаюсь метод OnLocationChanged(), но он не обновляется после 1000 мс. Я использую этот код на эмуляторе Android. Пожалуйста, просмотрите приведенный ниже код и скажите, что я делаю неправильно. Благодарю вас.
public class MainActivity extends AppCompatActivity {
private int i = 0;
private LocationManager mLocationManager;
private TextView main_tv;
public static final int MY_PERMISSIONS_REQUEST_LOCATION = 99;
private final LocationListener mLocationListener = new LocationListener() {
@Override
public void onLocationChanged(final Location location) {
i++;
Log.w("MyApp", Integer.toString(i)+"ITERATION CHANGED!!");
main_tv.setText(Integer.toString(i)+" "+location.getLatitude()+location.getLongitude());
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
main_tv.setText("PROVIDER DISABLED");
}
@Override
public void onProviderDisabled(String provider) {
main_tv.setText("PROVIDER ENABLED");
}
};
public boolean checkLocationPermission() {
if(ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) !=
PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
MY_PERMISSIONS_REQUEST_LOCATION);
}
return true;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mLocationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
main_tv = findViewById(R.id.textView);
checkLocationPermission();
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000,
2, mLocationListener);
}
}