Ich habe eine App, wo ich den Standort des Benutzers erhalten muss. Also habe ich am Anfang der App überprüft, ob das GPS eingeschaltet ist oder nicht. Wenn ja, wird sich der Benutzer einfach in der App anmelden. Ist dies nicht der Fall, wird der Warndialog angezeigt, in dem der Benutzer aufgefordert wird, ihn zu aktivieren. Wenn der Benutzer dies verweigert, wird die App geschlossen. Wenn der Benutzer die Aktivierung von GPS annimmt, wird der Benutzer zu den Standorteinstellungen navigiert. Ich kann jedoch nicht verfolgen, ob der Benutzer den GPS eingeschaltet hat oder nicht, nachdem der Benutzer die Standorteinstellungen erreicht hat. Wie mache ich das ? Das ist mein Alarmfeldcode:Wie überprüft man, ob der Benutzer den GPS-Dienst während der Laufzeit in Android aktiviert oder deaktiviert hat?
if (!manager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
AlertDialog dialog = new AlertDialog.Builder(login.this).setTitle("GPS NOT ENABLED!")
.setMessage("Plese, turn on your gps to login to the app")
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS));
dialog.dismiss();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
finish();
}
})
.setOnKeyListener(new DialogInterface.OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK &&
event.getAction() == KeyEvent.ACTION_UP &&
!event.isCanceled()) {
dialog.dismiss();
finish();
return true;
}
return false;
}
})
.show();
dialog.setCanceledOnTouchOutside(false);
}