gpt4 book ai didi

java - 以编程方式打开 wifi 网络共享

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:07:48 24 4
gpt4 key购买 nike

是否可以通过编程方式打开 wifi 热点以启用网络共享?我试过代码 herehere .这两个示例都无一异常(exception)地执行,但是当我查看 wifi 设置中的“网络共享和可移植热点”部分时,网络共享仍处于禁用状态。这是否仅适用于内部 Google 应用?

编辑:我使用的是 Android 5.1,我正在尝试在无需 root 手机的情况下执行此操作。

最佳答案

尝试以下代码,以编程方式打开 wifi 网络共享。我已经测试过,它在我的应用程序中工作。

public class WifiAccessManager {

private static final String SSID = "1234567890abcdef";
public static boolean setWifiApState(Context context, boolean enabled) {
//config = Preconditions.checkNotNull(config);
try {
WifiManager mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
if (enabled) {
mWifiManager.setWifiEnabled(false);
}
WifiConfiguration conf = getWifiApConfiguration();
mWifiManager.addNetwork(conf);

return (Boolean) mWifiManager.getClass().getMethod("setWifiApEnabled", WifiConfiguration.class, boolean.class).invoke(mWifiManager, conf, enabled);
} catch (Exception e) {
e.printStackTrace();
return false;
}
}

public static WifiConfiguration getWifiApConfiguration() {
WifiConfiguration conf = new WifiConfiguration();
conf.SSID = SSID;
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
return conf;
}
}

用法:

WifiAccessManager.setWifiApState(context, true);

权限要求:

<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

关于java - 以编程方式打开 wifi 网络共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33761818/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com