如何从应用程序启用/禁用 WiFi?

发布于 2024-11-01 17:08:34 字数 47 浏览 9 评论 0原文

我想从我的 Android 应用程序启用/禁用 wifi。我怎样才能做到这一点?

I want to enable/disable wifi from my Android application. How can I do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

猫瑾少女 2024-11-08 17:08:34
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" />
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
wifi.setWifiEnabled(false); // true or false to activate/deactivate wifi

You also need to request the permission in your AndroidManifest.xml :

<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
小红帽 2024-11-08 17:08:34

要在应用程序中启用/禁用 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 中启用/禁用 Wifi 的完整示例代码,请访问 此网站

To enable/disable WiFi in your application you need to use WiFiManager class. Create an Object of WiFiManager class to get the services of WiFi.

WifiManager wifi;
wifi=(WifiManager)getSystemService(Context.WIFI_SERVICE);

wifi.setWifiEnabled(false);//Turn off Wifi

wifi.setWifiEnabled(true);//Turn on Wifi

And you have to put the following permissions in 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" />

To get the whole sample code of enable/disable Wifi in android with UI visit this website

荒芜了季节 2024-11-08 17:08:34

试试这个代码

 Intent gpsOptionsIntent = new Intent(  android.provider.Settings.ACTION_WIFI_SETTINGS);  
            startActivityForResult(gpsOptionsIntent,0); 

try this code

 Intent gpsOptionsIntent = new Intent(  android.provider.Settings.ACTION_WIFI_SETTINGS);  
            startActivityForResult(gpsOptionsIntent,0); 
千鲤 2024-11-08 17:08:34

要从 Android Q (Android 10) 中的应用启用/禁用 wifi,请使用设置面板

val panelIntent = Intent(Settings.Panel.ACTION_INTERNET_CONNECTIVITY)
startActivityForResult(panelIntent, 0)

在以前版本的 Android 上,这应该可行(应将适当的权限添加到 AndroidManifest 文件中) ,请参阅上面的答案):

(context?.getSystemService(Context.WIFI_SERVICE) as? WifiManager)?.apply { isWifiEnabled = true /*or false*/ }

结果代码可能如下所示:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
    val panelIntent = Intent(Settings.Panel.ACTION_INTERNET_CONNECTIVITY)
    startActivityForResult(panelIntent, 0)
} else {
    (context?.getSystemService(Context.WIFI_SERVICE) as? WifiManager)?.apply { isWifiEnabled = true /*or false*/ }
}

其中 context 是对 android.content.Context 对象的引用。

To enable/disable wifi from an app in Android Q (Android 10) use Settings Panel:

val panelIntent = Intent(Settings.Panel.ACTION_INTERNET_CONNECTIVITY)
startActivityForResult(panelIntent, 0)

On previous versions of Android this should work (appropriate permissions should be added to AndroidManifest file, see answers above):

(context?.getSystemService(Context.WIFI_SERVICE) as? WifiManager)?.apply { isWifiEnabled = true /*or false*/ }

Resulting code might look something like this:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
    val panelIntent = Intent(Settings.Panel.ACTION_INTERNET_CONNECTIVITY)
    startActivityForResult(panelIntent, 0)
} else {
    (context?.getSystemService(Context.WIFI_SERVICE) as? WifiManager)?.apply { isWifiEnabled = true /*or false*/ }
}

Where context is a reference to android.content.Context object.

执妄 2024-11-08 17:08:34

试试这个

public void disableWifi(Context context, Boolean bool) {
    WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);

    if(bool)
        wifi.setWifiEnabled(false);
    else
        wifi.setWifiEnabled(true);
}

try this

public void disableWifi(Context context, Boolean bool) {
    WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);

    if(bool)
        wifi.setWifiEnabled(false);
    else
        wifi.setWifiEnabled(true);
}
如梦 2024-11-08 17:08:34
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);
        }
    }
}

在清单文件中添加用户权限

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);
        }
    }
}

Add User Permission in Manifest Files

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文