0

我想在 Android 的选项菜单中切换 Wifi 的状态。我想通过显示两个图标来扩展其功能,一个用于“打开”,另一个用于“关闭”。它应该以这样的方式工作,当用户按下菜单键时:

  1. 他应该看到 Wifi 的当前状态“开”或“关”
  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 回答