我想在Android的选项菜单中切换Wifi的状态。我想通过显示两个图标来扩展其功能,一个用于“开启”而另一个用于“关闭”。它的工作方式应该是当用户按下菜单键时:
这可以在选项菜单中进行吗?
关于如何根据状态更改图标的任何想法?
到目前为止,我可以通过将用户带到另一个活动来切换Wifi状态。但如果我能在选项菜单中实现它。它会使应用程序更容易使用。
感谢您的投入和时间。
答案 0 :(得分: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;
<uses-permission
android:name="android.permission.ACCESS_WIFI_STATE" />
<?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>