Basit bir Android uygulaması geliştirdim ve bu basit uygulamada, GPS Latitued ve Longitued verilerini almak istiyorum, emülatörümde doğru çalışıyor ancak gerçek Android cihazına kurduğumda çalışmaz. Lütfen bu sorunu çözmek için bana yardım edin ve takip benim kodumdur. Mobil gelen Android GPS şu anki konumuna ulaşın
Ekran atış: emülatörü gelen Şimdiden teşekkürler
public class getLocation extends AppCompatActivity {
private Button btnGetLocation;
private TextView textGPS;
private LocationManager locationManager;
private LocationListener locationListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_get_location);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
btnGetLocation = (Button) findViewById(R.id.btnGetLocation);
textGPS = (TextView) findViewById(R.id.textViewGps);
locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
locationListener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
textGPS.setText("lat: "+location.getLatitude()+" long: "+location.getLongitude());
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS));
}
};
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.INTERNET
},10);
return;
}
}else{
configureButton();
}
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
switch (requestCode){
case 10:
if(grantResults.length >0 && grantResults[0] == PackageManager.PERMISSION_GRANTED)
configureButton();
return;
}
}
private void configureButton() {
btnGetLocation.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
locationManager.requestLocationUpdates("gps", 0, 0, locationListener);
}
});
}
}
Yalnızca GPS istiyorsunuz ... Cihazınızın uydularla iletişim kurması gerekiyor! Dışarı çık ve test et! Ayrıca, "gps" sabit kodlu kullanmamalısınız, "locationManager.requestLocationUpdates (LocationManager.GPS_PROVIDER, 0, 0, locationListener) kullanmalısınız;" –
Dışarıda yürüdüğüm için teşekkürler. –