Переключение состояния Wi-Fi в меню параметров - PullRequest
0 голосов
/ 04 января 2012

Я бы хотел переключить состояние Wi-Fi в меню настроек в Android.Я хотел бы расширить его функциональность, показывая две иконки: «включен», а другой - «выключен».Он должен работать таким образом, чтобы, когда пользователь нажимал клавишу меню:

  1. Он должен видеть текущее состояние Wi-Fi "включено" или "выключено"
  2. Должны отображаться значкив соответствии с его состоянием «включено» или «выключено»
  3. Когда пользователь выбирает параметр Wi-Fi, он должен переключать состояние Wi-Fi и соответственно менять значок

Возможно ли этоделать в меню параметров?

Есть идеи, как изменить значки в соответствии с их состоянием?

До сих пор я мог переключать состояние Wi-Fi, переводя пользователя в другой вид деятельности.,Но если я смогу добиться этого в меню настроек.Это сделало бы приложение более простым в использовании.

Спасибо за ваш вклад и за ваше время.

1 Ответ

1 голос
/ 04 января 2012

вот код для включения / выключения wifi:

 @Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case R.id.wifistate:
        final WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
        if(wifi.isWifiEnabled()){
            wifi.setWifiEnabled(false);
            Drawable drawable = getResources().getDrawable(R.drawable.off);
            item.setIcon(drawable);
        }else{
            Drawable drawable = getResources().getDrawable(R.drawable.on);
            item.setIcon(drawable);
            wifi.setWifiEnabled(true);
        }
        break;

    }
    return true;

}

manifest.xml (разрешение на добавление)

<uses-permission
    android:name="android.permission.ACCESS_WIFI_STATE" />

файл menu.xml:

<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"><item android:id="@+id/wifistate"  android:title="Off" android:icon="@drawable/off"/></menu>
...