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代碼...
那麼兩種方式之間的區別是什麼? 我是否需要添加更多代碼? 非常感謝!