это просто простой локатор GPS, который показывает мне долготу и широту. Однако, когда я запускаю приложение в первый раз, все работало, но после того, как я включил и отключил GPS на своем мобильном телефоне, он не смог отследить меня, и мой объект Location (lo c) был нулевым. Это становится еще более забавным, потому что я установил поддельное приложение GPS, и я установил его в другой стране, и мое приложение показало мне долготу и долготу от этой поддельной страны GPS. Я попытался переустановить свое приложение, но затем первый запуск снова стал нулевым, и приложение не смогло отследить мой GPS. Это проблема с моим кодом или слабый сигнал GPS от моего местоположения, где я живу?
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void getLoc(View v) {
TextView txtLong = findViewById(R.id.textViewLong);
TextView txtLat = findViewById(R.id.textViewLat);
LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
Criteria criteria = new Criteria();
String bestProvider = locationManager.getBestProvider(criteria, true);
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
return;
}
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
return;
}
Location loc = locationManager.getLastKnownLocation(bestProvider);
if (loc == null){
Toast.makeText(getApplicationContext(), "GPS signal not found", Toast.LENGTH_SHORT).show();
}
if(loc != null){
txtLong.setText("Longitude: " + loc.getLongitude());
txtLat.setText("Latitude: " + loc.getLatitude() );
}
if(loc == null) {
txtLong.setText("loc is = null!");
}
}