У меня есть приложение, которое использует местоположение пользователя. У меня есть диалоговое окно (рис. Ниже), запрашивающее у пользователя разрешение «Разрешить» или «Запретить» приложению использовать местоположение пользователя (диалоговое окно появляется, когда пользователи впервые открывают приложение после установки ИЛИ, когда пользователь пытается использовать службу на основе определения местоположения, пока с использованием местоположения пользователя - «Запретить» (пользователем).
Я также использую элемент предпочтения (флажок) (рис. Ниже) в PreferenceActivity
, где пользователь может переключать свои предпочтения.
Чтобы изменить значение разделяемой привилегии, я использую этот код
<code>public void onClick(DialogInterface dialog, int id)
{
sharedPrefs =getSharedPreferences("prefs",MODE_WORLD_WRITEABLE);
Editor editor = sharedPrefs.edit();
editor.putBoolean("locationPermission", true);
editor.commit();<br>
}</code>
Я ожидал, что значение флажка будет изменяться автоматически в зависимости от выбора диалогового окна, так как ключ locationPermission содержит значение для флажка. Но это не так.
Теперь, как мне сопоставить выбор диалога (рис. 1) со значением флажка (рис. 2)?