-1

アプリのプッシュ通知に 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 ステートメントを実行するにはどうすればよいですか?

4

1 に答える 1