Cal*_*all 8 java android android-wifi
是否可以通过编程方式打开wifi热点,以启用网络共享?我在这里和这里尝试过代码.两个示例都毫无例外地执行,但是当我查看wifi设置中的"Tethering&portable hotspot"部分时,仍然禁用了共享.这仅适用于内部Google应用吗?
编辑:我正在使用Android 5.1,我试图这样做而不必根电话.
尝试以下代码,以编程方式打开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;
}
}
Run Code Online (Sandbox Code Playgroud)
用法:
WifiAccessManager.setWifiApState(context, true);
Run Code Online (Sandbox Code Playgroud)
许可要求:
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4171 次 |
| 最近记录: |