0

Android のオプション メニューで Wifi の状態を切り替えたいと思います。「スイッチオン」と「スイッチオフ」の2つのアイコンを表示して、機能を拡張したいと思います。ユーザーがメニューキーを押したときに次のように動作する必要があります。

  1. Wi-Fi の現在のステータスが「オン」または「オフ」であることを確認する必要があります。
  2. アイコンは、「オン」または「オフ」の状態に従って表示する必要があります
  3. ユーザーが Wifi オプションをクリックすると、Wifi の状態が切り替わり、それに応じてアイコンも変更されます。

これはオプション メニューで実行できますか?

状態に応じてアイコンを変更する方法についてのアイデアはありますか?

これまでのところ、ユーザーを別のアクティビティに連れて行くことで、Wifi の状態を切り替えることができました。しかし、オプションメニューでそれを達成できれば。アプリをより使いやすくします。

ご意見をお寄せいただき、ありがとうございました。

4

1 に答える 1

1

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>
于 2012-01-04T05:50:41.157 に答える