Android 从CheckboxPreference激活和停用推送机器人

Android 从CheckboxPreference激活和停用推送机器人,android,sharedpreferences,checkboxpreference,Android,Sharedpreferences,Checkboxpreference,我在我的Android应用程序中使用,但希望给用户一个选项来启用或禁用通知。在上,它表示运行代码Pushbots.getInstance.setRegStatusfalse;我会帮你的 因此,我创建了一个首选项页面,并创建了一个CheckboxPreference选项,我希望它在取消勾选时停用通知并运行代码,然后重新激活它们并运行相同的代码,但勾选时使用true而不是false 以下是我的首选项页面Prefs.java: import com.pushbots.push.Pushbots; i

我在我的Android应用程序中使用,但希望给用户一个选项来启用或禁用通知。在上,它表示运行代码Pushbots.getInstance.setRegStatusfalse;我会帮你的

因此,我创建了一个首选项页面,并创建了一个CheckboxPreference选项,我希望它在取消勾选时停用通知并运行代码,然后重新激活它们并运行相同的代码,但勾选时使用true而不是false

以下是我的首选项页面Prefs.java:

import com.pushbots.push.Pushbots;

import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceManager;
import android.util.Log;
import android.widget.TextView;
import android.widget.Toast;

public class Prefs extends PreferenceActivity implements OnSharedPreferenceChangeListener {
boolean CheckboxPreference;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.preferences);}

@Override
public void onDestroy() {

   super.onDestroy();
   Toast.makeText(getBaseContext(), "Preferences saved!",Toast.LENGTH_LONG ).show();
}  
public void onStart(Intent intent, int startId) {
        getPrefs();
    }
private void getPrefs() {
    SharedPreferences prefs = PreferenceManager
        .getDefaultSharedPreferences(getBaseContext());
    }
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
        final String key) {
    if (key.equals(notifBox)) {
        // handle setting enabled or disabled depending on value of preference
        if (sharedPreferences.getBoolean(key, false)) {
            Pushbots.getInstance().setRegStatus(true);
        } else {
            Pushbots.getInstance().setRegStatus(false);
        }   }   }   }
还有我的首选项layout preferences.xml

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<CheckBoxPreference
      android:title="Notifications"
      android:defaultValue="true"
      android:summary="Recieve push notifications from IGNITE?"
      android:key="notifBox"
      android:textIsSelectable="false" />
</PreferenceScreen>
即使在关闭和重新打开后,应用程序也会记住这些首选项,但是,无论选项的状态如何,我都会收到推送通知

我已经浏览了很多教程、这里的问题和Android开发者网站上的资源,但是没有一个适合我的需要或者适合我的实例

如有任何建议,将不胜感激!:

    PreferenceManager.getDefaultSharedPreferences(getBaseContext()).registerOnSharedPreferenceChangeListener(this);
      SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());