tôi đã phát triển một ứng dụng Android đơn giản và trong ứng dụng này đơn giản, tôi muốn lấy dữ liệu GPS Latitued và Longitued, nó hoạt động một cách chính xác trong giả lập của tôi, nhưng khi tôi cài đặt trên thiết bị Android thực nó không hoạt động. Xin hãy giúp tôi giải quyết vấn đề này và tiếp theo là mã của tôi. Cảm ơn trướcAndroid GPS có được vị trí hiện tại
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);
}
});
}
}
Screen shot từ điện thoại di động:
Bạn đang yêu cầu chỉ GPS ... Thiết bị của bạn cần liên hệ với vệ tinh! Đi ra ngoài và kiểm tra nó! Ngoài ra, bạn không nên sử dụng "gps" cứng mã hóa, bạn nên sử dụng 'locationManager.requestLocationUpdates (LocationManager.GPS_PROVIDER, 0, 0, locationListener);' –
cám ơn tôi đi ra ngoài nó hoạt động –