2013-07-02 77 views
0

我有一个切换,当BATTERY_LOW是真的关闭无线网络:切换状态recive的Android

public void getToggle(View view) { 
    // Is the toggle on? 
    boolean on = ((ToggleButton) view).isChecked(); 
    if (on) { 
      PackageManager pm = getPackageManager(); 
    ComponentName compName = 
    new ComponentName(getApplicationContext(), 
     LowBatteryReceiver.class); 
     pm.setComponentEnabledSetting(
     compName, 
     PackageManager.COMPONENT_ENABLED_STATE_ENABLED, 
     PackageManager.DONT_KILL_APP); 
    } else {     
      PackageManager pm = getPackageManager(); 
      ComponentName compName = 
      new ComponentName(getApplicationContext(), 
      LowBatteryReceiver.class); 
      pm.setComponentEnabledSetting(
      compName, 
      PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 
      PackageManager.DONT_KILL_APP);   
     } 
    } 

这里的WiFi代码:

public class LowBatteryReceiver extends BroadcastReceiver { 

    public void onReceive(Context context, Intent intent) { 
     wifiManager = (WifiManager) MainActivity.this.getSystemService(Context.WIFI_SERVICE); 
         wifiManager.setWifiEnabled(false); 
    } 
} 


public class OkBatteryReceiver extends BroadcastReceiver { 

    public void onReceive(Context context, Intent intent) { 
     wifiManager = (WifiManager) MainActivity.this.getSystemService(Context.WIFI_SERVICE); 
         wifiManager.setWifiEnabled(true); 
    } 
} 

我怎么能“记住”的选择当我离开我的应用程序并再次打开它时切换?我知道我必须在onResumeonCreate中写下一些东西,但我不知道当我使用BroadcastReceiver时是什么。我想我必须检查COMPONENT_ENABLED_STATE_DISABLEDCOMPONENT_ENABLED_STATE_ENABLED是不是对的?有人可以帮助我吗?由于

回答

0

我建议你阅读有关Android中保存数据: http://developer.android.com/training/basics/data-storage/index.html

//set Preference 
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); 
SharedPreferences.Editor editor = sharedPref.edit(); 
editor.putInt(getString(R.string.saved_high_score), newHighScore); 
editor.commit(); 

//get Preference 
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); 
int defaultValue = getResources().getInteger(R.string.saved_high_score_default); 
long highScore = sharedPref.getInt(getString(R.string.saved_high_score), defaultValue); 
+0

很抱歉,但我不understand..where有我正好把这个代码? –

+0

我不知道该怎么做。我放了什么?简历? –

+0

使用get Preference而不是((ToggleButton)view).isChecked()并将OnClickListener设置为您在其中设置首选项的togglebutton。 如何添加Listener请参阅http://stackoverflow.com/questions/8386832/android-checkbox-listener – terra