Всем привет! Пишу приложение, дошел до стадии проверки включен GPS или нет, если включен - иду дальше по логике проги, если нет - вывожу диалог и перекидываю пользователя в настройки локации.
Код диалога:
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("GPS выключен, включить?")
.setCancelable(false)
.setPositiveButton("Да", new DialogInterface.OnClickListener() {
public void onClick(@SuppressWarnings("unused") final DialogInterface dialog, @SuppressWarnings("unused") final int id) {
dialog.cancel();
startActivity(new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS));
checkGpsStatus();
}
})
.setNegativeButton("Нет", new DialogInterface.OnClickListener() {
public void onClick(final DialogInterface dialog, @SuppressWarnings("unused") final int id) {
checkGpsStatus();
}
});
final AlertDialog alert = builder.create();
alert.show();
Проблема в том, что диалог появляется, когда я нажимаю на "ДА" - меня перекидывает в настройки локации, там я включаю gps, потом нажимаю на кнопку "назад" и меня перекидывает назад в мою прогу, но при этом диалог не закрылся а открыт, при нажатии на "нет - прога вылетает, при нажатии на "да" опять открываются настройки, при нажатии "назад" прога вылетает. Что не так? Как это победить?