如何在android中保存开关(按钮)的状态

时间:2015-07-25 11:13:55

标签: android service switch-statement state

我正在使用switch(比如android togglebutton)而不是我的Android应用中的普通按钮。启用和禁用交换机时,代码工作正常。但我想存储开关的状态。假设我启用了交换机并关闭了我的应用程序,后台代码将正常运行,但交换机状态将变为禁用。

每次关闭应用程序时,开关状态都会被禁用。有没有办法存储开关状态?

mySwitch.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
    if (mySwitch.isChecked()) {
        SharedPreferences.Editor editor = getSharedPreferences ("com.mobileapp.smartapplocker",
        MODE_PRIVATE).edit();
        editor.putBoolean("Service On", true);
        editor.commit();
    }

    else {
        SharedPreferences.Editor editor = getSharedPreferences ("com.mobileapp.smartapplocker",
        MODE_PRIVATE).edit();
        editor.putBoolean("Service Off", false);
        editor.commit();
    }
  }
}

1 个答案:

答案 0 :(得分:6)

我认为你对Android中的共享偏好如何工作感到困惑。它们基本上是关键值对。因此,为了检索特定值,密钥必须相同。

给你举个例子:

#/srv/pillar/managefiles.sls 
pkg: 
  heap: 30

现在你在哪里检查服务

    mySwitch.setOnClickListener(new View.OnClickListener() {

       @Override
       public void onClick(View arg0) {    
           SharedPreferences.Editor editor = getSharedPreferences("com.mobileapp.smartapplocker", MODE_PRIVATE).edit();
           editor.putBoolean("service_status", mySwitch.isChecked());
           editor.commit();
       }
   }

希望有所帮助