Androidアプリケーションからwifiを有効/無効にしたいのですが、どうすればよいですか?
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
wifi.setWifiEnabled(false); // true or false to activate/deactivate wifi
また、AndroidManifest.xmlで許可をリクエストする必要があります。
<uses-permission Android:name="Android.permission.CHANGE_WIFI_STATE" />
アプリケーションでWiFiを有効/無効にするには、WiFiManagerクラスを使用する必要があります。 WiFiManagerクラスのオブジェクトを作成して、WiFiのサービスを取得します。
WifiManager wifi;
wifi=(WifiManager)getSystemService(Context.WIFI_SERVICE);
wifi.setWifiEnabled(false);//Turn off Wifi
wifi.setWifiEnabled(true);//Turn on Wifi
そして、AndroidManifest.xmlに次のアクセス許可を設定する必要があります
<uses-permission Android:name="Android.permission.ACCESS_WIFI_STATE" />
<uses-permission Android:name="Android.permission.INTERNET" />
<uses-permission Android:name="Android.permission.CHANGE_WIFI_STATE"/>
<uses-permission Android:name="Android.permission.UPDATE_DEVICE_STATS" />
<uses-permission Android:name="Android.permission.WAKE_LOCK" />
Android UIを使用してWifiを有効/無効にするサンプルコード全体を取得するには、 このWebサイト
このコードを試してください
Intent gpsOptionsIntent = new Intent( Android.provider.Settings.ACTION_WIFI_SETTINGS);
startActivityForResult(gpsOptionsIntent,0);
これを試して
public void disableWifi(Context context, Boolean bool) {
WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
if(bool)
wifi.setWifiEnabled(false);
else
wifi.setWifiEnabled(true);
}
public class MainActivity extends AppCompatActivity {
Switch btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Switch) findViewById(R.id.switch1);
btn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
toggleWiFi(true);
Toast.makeText(getApplicationContext(), "Wi-Fi Enabled!", Toast.LENGTH_LONG).show();
} else {
toggleWiFi(false);
Toast.makeText(getApplicationContext(), "Wi-Fi Disabled!", Toast.LENGTH_LONG).show();
}
}
});
}
public void toggleWiFi(boolean status){
WifiManager wifiManager = (WifiManager)this.getSystemService(WIFI_SERVICE);
if (status && !wifiManager.isWifiEnabled()) {
wifiManager.setWifiEnabled(true);
} else if (!status && wifiManager.isWifiEnabled()) {
wifiManager.setWifiEnabled(false);
}
}
}
マニフェストファイルにユーザー権限を追加する