2
我在这里有一个奇怪的问题。使用java连接到adhoc wifi或手动执行它的区别
我正在制作一个应用程序,可以从相机连接到无线adhoc网络。 (所以没有互联网连接的无线网络)。
这里是Java代码我使用,能够自动将Android手机连接到相机的WiFi:
WifiConfiguration conf = new WifiConfiguration();
conf.SSID = "\"" + networkSSID + "\"";
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
wifiManager.addNetwork(conf);
LocalBroadcastManager.getInstance(context).registerReceiver(mWifiScanReceiver, new IntentFilter(TAG_WIFI_CONNECTED));
List<WifiConfiguration> list = wifiManager.getConfiguredNetworks();
for(WifiConfiguration i : list) {
if(i.SSID != null && i.SSID.contains(networkSSID)) {
if (old_networkId != i.networkId && wifiManager.getConnectionInfo() != null)
old_networkId = wifiManager.getConnectionInfo().getNetworkId();
wifiManager.disconnect();
sicilia_ssid = networkSSID;
wifiManager.enableNetwork(i.networkId, true);
wifiManager.reconnect();
break;
}
}
此代码的工作:该设备不连接到WiFi网络我想,但:
这里的问题是
我使用一个特定的API与相机对话。 如果我使用此代码连接到无线网络,API将不起作用。但如果我手动连接到无线(与设置应用程序),没有问题... 如果我禁用蜂窝数据,我可以使用代码自动连接到相机。 因此,它看起来像蜂窝数据优先于特定的无线网络,但只有当连接是在Java代码...
那么两种方式之间的区别是什么? 我是否需要添加更多代码? 非常感谢!