アプリのプッシュ通知に parse.com を使用しています。次のようなアプリケーション設定に「通知を無効にする」オプションを追加しました。
<PreferenceCategory android:title="Obvestila" >
<CheckBoxPreference
android:defaultValue="true"
android:key="prefNotification"
android:summary="Za obvestila je potrebna internetna povezava"
android:title="Prejemal obvestila" />
</PreferenceCategory>
次に、このメソッドを MainActivity に追加しました。
public void getSettingsPrefs(){
SharedPreferences settingsPrefs = PreferenceManager.getDefaultSharedPreferences(this);
notification = settingsPrefs.getBoolean("prefNotification", true);
if (notification == false)
{
PushService.setDefaultPushCallback(this, null);
}
else
{
PushService.setDefaultPushCallback(this, MainActivity.class);
}
}
問題は、これが部分的にしか機能しないことです。設定のボックスをオンまたはオフにしたら、MainActivity を完全に再度開いて、onCreate で getSettingsPrefs() が実行されるようにする必要があります。チェックボックスがチェックされるたびに IF ステートメントを実行するにはどうすればよいですか?