我有一个使用用户位置的应用程序。我有一个对话框(下图)询问用户是否允许“允许”或“禁止”应用程序使用用户的位置(安装后用户第一次打开应用程序或当用户尝试使用基于位置的服务时弹出对话框使用用户位置是用户“不允许”的)。
我还使用偏好项(复选框)(下图),PreferenceActivity
用户可以在其中切换他的偏好。
要更改 sharedpreference 的值,我使用了此代码
public void onClick(DialogInterface dialog, int id)
{
sharedPrefs =getSharedPreferences("prefs",MODE_WORLD_WRITEABLE);
Editor editor = sharedPrefs.edit();
editor.putBoolean("locationPermission", true);
editor.commit();
}
我曾期望复选框值会根据对话框选择自动更改,因为键“locationPermission”将值保存到复选框。但事实并非如此。
现在如何将对话框(图 1)选择映射到复选框值(图 2)?