无法使用checkboxpreferences从PreferencesActivity启动或停止服务

时间:2014-03-20 14:26:08

标签: java android android-service android-preferences checkboxpreference

我希望用户可以启动或停止在我打开应用时实际自动启动的服务。我尝试这样做但不起作用:

在首选项类

public class UsersettingsActivity extends PreferenceActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.preferences);

    CheckBoxPreference checkboxPref = (CheckBoxPreference)getPreferenceManager().findPreference("firstDependent");

       checkboxPref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {            

       public boolean onPreferenceChange(Preference preference, Object newValue) {

              boolean myValue = (Boolean) newValue;

              if(myValue){
               startService(new Intent(UsersettingsActivity.this, SimpleKitkatNotificationListener.class));

              }else{
               stopService(new Intent(UsersettingsActivity.this, SimpleKitkatNotificationListener.class));
          }
             return true;
        }
    }); 



    }
}

但不行。我也尝试写这个来检查:

private boolean isMyServiceRunning() {
        ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
        for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
            if (SimpleKitkatNotificationListener.class.getName().equals(service.service.getClassName())) {
                Toast.makeText(getApplicationContext(), "started", Toast.LENGTH_LONG);
                return true;
            }
        }
        return false;
    }

我在MainActivity中调用了该方法,并且我调用了onCreate()但没有启动。

0 个答案:

没有答案