java連接wifi代碼 用代碼連接wifi

非啟動(dòng)頁面WiFi鏈接的編譯,求助

在想要對(duì)wifi硬件動(dòng)作之前,需要做兩件事情,一是要load wifi的driver,而是要打開wpa_supplicant,其實(shí)如果是連接沒有加密的wifi,沒有必要打開wpa_supplicant,但是為了講問題化為熟知的問題,此處還是先按照提示調(diào)用wifi_load_driver()和wifi_start_supplicant()

為金川等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及金川網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、金川網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

按照上面的提示寫出來的初始化代碼如下:

int init_stage() {

// load the wifi driver: insmod .ko

int ret = wifi_load_driver();

if(ret 0) {

LOGE("Failed to load Wi-Fi driver. %s",strerror(errno));

return -1;

}

// start wpa_supplicant

ret = wifi_start_supplicant();

if(ret 0) {

LOGE("Failed to start supplicant daemon. %s",strerror(errno));

return -1;

}

return 0;

}

接下來,便是連接的過程了,經(jīng)過上面的步驟,wifi的driver已經(jīng)載入,wpa_supplicant也已經(jīng)打開,那咱們就可以開始連接無線了吧。后來證實(shí)這是錯(cuò)誤的,因?yàn)閍nly_jun的這篇Android wifi分析的粒度只在Java層面的函數(shù)級(jí)別,因此有一些細(xì)節(jié)并沒有提到。在下面我會(huì)提到這些細(xì)節(jié)。

按照一般的linux中連接wifi的步驟,這時(shí)候就可以直接調(diào)用一個(gè)程序來連接某個(gè)ssid的無線網(wǎng)絡(luò),然后調(diào)用dhcpd來分配ip了,我之前在eeepc上連接wifi就非常簡單,調(diào)用iwconfig [ssid],再調(diào)用dhcpd就可以了。但很遺憾,Android上并沒有iwconfig這樣方便的工具。

這下線索似乎就斷了,天無絕人之路,既然在Android的Java code中都可以添加一個(gè)無線網(wǎng)絡(luò)并且連接,那我們就去Android的Java源代碼中找一找。在Android中,程序員是使用WifiManager這個(gè)類來進(jìn)行Wifi操作的,其中關(guān)于添加一個(gè)網(wǎng)絡(luò)的代碼如下:

public int addNetwork(WifiConfiguration config) {

if (config == null) {

return -1;

}

config.networkId = -1;

return addOrUpdateNetwork(config);

}

private int addOrUpdateNetwork(WifiConfiguration config) {

try {

return mService.addOrUpdateNetwork(config);

} catch (RemoteException e) {

return -1;

}

}

可以用java代碼實(shí)現(xiàn)在windows的電腦上開wifi嗎?如果可以,怎么實(shí)現(xiàn)?

用java調(diào)用bat文件試試。bat中寫你啟動(dòng)wifi的命令,netsh。。。。上網(wǎng)查詢很多的。

Java代碼怎樣分辨連接WiFi的不同手機(jī),我需要判斷不同手機(jī)登錄

想知道一下你做這個(gè)的前景是什么?

如果說是局域網(wǎng)服務(wù)器維護(hù)的話,大可不必如此,因?yàn)槿绻氵@樣做相當(dāng)于是一個(gè)B/S的結(jié)構(gòu);那么實(shí)際上要對(duì)手機(jī)進(jìn)行區(qū)分幾乎是不可能的。連接Wifi,意味著最多只能處理數(shù)據(jù)報(bào)文,而不是在那些手機(jī)上運(yùn)行程序。網(wǎng)絡(luò)數(shù)據(jù)報(bào)文中,和數(shù)據(jù)無關(guān)的部分就是網(wǎng)絡(luò)協(xié)議部分的數(shù)據(jù),這部分?jǐn)?shù)據(jù)中,傳輸層、網(wǎng)絡(luò)層數(shù)據(jù)都沒有用,只有數(shù)據(jù)鏈路層的MAC地址可能對(duì)你有點(diǎn)用,因?yàn)槊繌埦W(wǎng)卡的MAC地址是不同的,你至多可以知道是哪家公司生產(chǎn)的,但是具體在什么設(shè)備上,是不可能知道的(況且那些數(shù)據(jù)理論上其實(shí)都是可以改的)

如果是針對(duì)手機(jī)編程的話,用Java代碼的無非就是Android編程,這就和連接什么Wifi沒有關(guān)系了。Android編程要獲取手機(jī)信息的方法我也不清楚,你去谷歌的API里面看看,或者去搜搜看吧,應(yīng)該不少。

wifi java程序

我先回答你的第二個(gè)問題,各種wifi產(chǎn)品的api應(yīng)該是一樣的,wifi都是根據(jù)接口來寫驅(qū)動(dòng)的,我們的library里已經(jīng)將wifi模塊化了.至于怎么寫wifi,下面是我提供的獲取WIFI的mac地址的代碼,希望對(duì)你有所幫助:

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

WifiInfo info=wifi.getConnectionInfo();

String mac;

mac=info.getMacAdress();

我在sand用java寫了一個(gè)讀取wifi密碼的程序,該方法由主方法調(diào)用,運(yùn)行沒問題,效果也正常,

返回主方法重新調(diào)用什么????主方法就是順著執(zhí)行啊,執(zhí)行完你調(diào)用的類的方法,就回來順著語句執(zhí)行啊。。。

求java代碼:自動(dòng)打開wifi并連接到指定一臺(tái)有密碼保護(hù)的路由器上,然后斷開再連接,重復(fù)1000次。

可以實(shí)現(xiàn),就是andriod的wifi連接,我們公司一個(gè)項(xiàng)目就是自動(dòng)搜索周圍最強(qiáng)WIFI信號(hào)并且連接的,不過10分要?jiǎng)e人給你寫個(gè)類似項(xiàng)目的程序,那是不現(xiàn)實(shí)的,說說思路差不多

網(wǎng)站標(biāo)題:java連接wifi代碼 用代碼連接wifi
分享鏈接:http://muchs.cn/article28/hphhjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、電子商務(wù)、定制開發(fā)、軟件開發(fā)、搜索引擎優(yōu)化微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司