關(guān)于android的wifi信息

Android的參數(shù)大致分成兩塊:系統(tǒng)服務(wù)參數(shù)和平臺系統(tǒng)信息翘骂。


系統(tǒng)服務(wù)參數(shù):Android的系統(tǒng)服務(wù)不僅指服務(wù)組件攘乒,而且還包括 Android 系統(tǒng)提供的服務(wù)功能盼砍。Android為這些系統(tǒng)服務(wù)參數(shù)提供了接口---管理器篮灼,不同的組件會有不同的管理器進行管理德频,主要有Wi-Fi管理,連接管理晋辆, 電話管理渠脉,電源管理,振動管理瓶佳,音量管理芋膘,輸入法管理,窗口管理等等霸饲,我們通過這些系統(tǒng)服務(wù)接口就可以方便地獲取系統(tǒng)信息为朋。我在此處把一些可能和華為項目 相關(guān)的管理器拿出來仔細研究研究。

Wi-Fi管理(重點):

WifiManager wifi_service = (WifiManager)getSystemService(WIFI_SERVICE);

//獲取Wi-Fi配置接口的屬性

List wifiConfig = wifi_service.getConfiguredNetworks();

wifiConfig中包含四個屬性:

BSSID:BSS是一種特殊的Ad-hoc LAN(一種支持點對點訪問的無線網(wǎng)絡(luò)應(yīng)用模

式)的應(yīng)用厚脉,一個無線網(wǎng)絡(luò)至少由一個連接到有線網(wǎng)絡(luò)的AP和若干無線

工作站組成习寸,這種配置稱為一個基本服務(wù)裝置。一群計算機設(shè)定相同的

BSS名稱傻工,即可自成一個group霞溪,而此BSS名稱,即所謂BSSID中捆。通常鸯匹,手

機WLAN中,bssid其實就是無線路由的MAC地址泄伪。

networkid:網(wǎng)絡(luò)ID殴蓬。

PreSharedKey:無線網(wǎng)絡(luò)的安全認證模式。

SSID:SSID(Service Set Identif)用于標識無線局域網(wǎng)蟋滴,SSID不同的無線網(wǎng)

絡(luò)是無法進行互訪的染厅。

//獲取Wi-Fi的連接信息

WifiInfo wifiinfo = wifi_service.getConnectionInfo();

wifiinfo.getBSSID():獲取BSSIS(上面已說明)。

wifiinfo.getSSID():獲取SSID(上面已說明)津函。

wifiinfo.getIpAddress():獲取IP地址肖粮。

wifiinfo.getMacAddress():獲取MAC地址。

wifiinfo.getNetworkId():獲取網(wǎng)絡(luò)ID尔苦。

wifiinfo.getLinkSpeed():獲取連接速度涩馆,可以讓用戶獲知這一信息。

wifiinfo.getRssi():獲取RSSI蕉堰,RSSI就是接受信號強度指示凌净。在這可以直

接和華為提供的Wi-Fi信號閾值進行比較來提供給用戶,讓用戶對網(wǎng)絡(luò)

或地理位置做出調(diào)整來獲得最好的連接效果屋讶。

//獲取DHCP信息

DhcpInfo dhcpinfo = wifi_service.getDhcpInfo();

ipAddress:獲取IP地址冰寻。

gateway:獲取網(wǎng)關(guān)。

netmask:獲取子網(wǎng)掩碼皿渗。

dns1:獲取DNS斩芭。

dns2:獲取備用DNS轻腺。

serverAddress:獲取服務(wù)器地址。

//獲取掃描信息

List scanResult = wifi_service.getScanResults();

BSSID:獲取BSSID(上面已說明)划乖。

SSID:獲取網(wǎng)絡(luò)名(上面已說明)贬养。

level:獲取信號等級。

frequency:獲取頻率琴庵。

capabilites:對該訪問點安全方面的描述误算。

//獲取Wi-Fi的網(wǎng)絡(luò)狀態(tài)

int wifiState = wifi_service.getWifiState();

WIFI_STATE_DISABLING:常量0,表示停用中迷殿。

WIFI_STATE_DISABLED:常量1儿礼,表示不可用。

WIFI_STATE_ENABLING:常量2庆寺,表示啟動中蚊夫。

WIFI_STATE_ENABLED:常量3,表示準備就緒懦尝。

WIFI_STATE_UNKNOWN:常量4知纷,表示未知狀態(tài)。

說明:進行網(wǎng)絡(luò)連接的時候陵霉,這些狀態(tài)都會被顯示在Notification上琅轧,直

接可以通過此處獲取各個狀態(tài)來完成華為的Notification中Wi- Fi

狀態(tài)顯示的需求。

連接管理:

ConnectivityManager connectionManager = (ConnectivityManager)

getSystemService(CONNECTIVITY_SERVICE);

//獲取網(wǎng)絡(luò)的狀態(tài)信息撩匕,有下面三種方式

NetworkInfo networkInfo = connectionManager.getActiveNetworkInfo();

NetworkInfo wifiInfo =

connectionManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

NetworkInfo mobileInfo =

connectionManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

getDetailedState():獲取詳細狀態(tài)鹰晨。

getExtraInfo():獲取附加信息墨叛。

getReason():獲取連接失敗的原因止毕。

getType():獲取網(wǎng)絡(luò)類型(一般為移動或Wi-Fi)。

getTypeName():獲取網(wǎng)絡(luò)類型名稱(一般取值“WIFI”或“MOBILE”)漠趁。

isAvailable():判斷該網(wǎng)絡(luò)是否可用扁凛。

isConnected():判斷是否已經(jīng)連接。

isConnectedOrConnecting():判斷是否已經(jīng)連接或正在連接闯传。

isFailover():判斷是否連接失敗谨朝。

isRoaming():判斷是否漫游。

//網(wǎng)絡(luò)狀態(tài)偵聽器的使用

在程序中寫一個Service類繼承BroadcasrReceiver:

public class NetMonitor extends BroadcastReceiver {

public void onReceive(Context context, Intent intent) {

}

}

在androidManifest.xml中申明該Rervice:

.NET.conn.CONNECTIVITY_CHANGE" />

當網(wǎng)絡(luò)狀態(tài)發(fā)生改變的時候甥绿,就可以通過該Rervice監(jiān)聽到該變化字币,并作出相應(yīng)

的動作。

電源管理:

PowerManager power = (PowerManager) getSystemService(POWER_SERVICE);

PARTIAL_WAKE_LOCK:屏幕關(guān)閉共缕,鍵盤關(guān)閉洗出。

SCREEN_DIM_WAKE_LOCK:屏幕邊暗,鍵盤關(guān)閉图谷。

SCREEN_BRIGHT_WAKE_LOCK:屏幕點亮翩活,鍵盤關(guān)閉阱洪。

FULL_WAKE_LOCK:屏幕點亮,鍵盤點亮菠镇。

ACQUIRE_CAUSES_WAKEUP:當通過喚醒鎖喚醒設(shè)備時冗荸,強制屏幕或鍵盤馬上點

亮(例如:作為重要信息的通知)。

ON_AFTER_RELEASE:當喚醒鎖釋放時用戶的Activity組件會被重置利耍,這會造

成屏幕持續(xù)顯示較長的事件蚌本。

//通過喚醒鎖的“acquire”方法按照指定的等級來喚醒設(shè)備,當不需要喚醒鎖時

可以通過“release”方法來釋放隘梨。

PowerManager.WakeLock locker = powerManager.NewWakeLock(PowerManager.

ACQUIRE_CAUSES_WAKEUP|powerManager.SCREEN_BRIGHT_WAKE_LOCK,

"PowerServiceDemo");

locker.acquire();

locker.release();

振動管理:

Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);

通過振動器的“vibrate”方法就可以設(shè)置震動持續(xù)的時間并啟動震動魂毁,通過震動

器的“cancel”方法取消震動,或者當用戶的程序退出時出嘹,所有用戶啟動的震動都將停

止席楚。

平臺系統(tǒng)信息:Android平臺對系統(tǒng)中的進程管理,文件系統(tǒng)税稼,環(huán)境變量烦秩,系統(tǒng)時間,平臺信息和電池管理等核心部分的訪問進行深層次的封裝郎仆,從而讓開發(fā)者能夠獲得更多的核心系統(tǒng)信息只祠。

android.os.Process

//獲取當前進程的方法

android.os.Process.getElapsedCpuTime():獲取消耗的時間。

android.os.Process.myPid():獲取該進程的ID扰肌。

android.os.Process.myTid():獲取調(diào)用進程的ID抛寝。

android.os.Process.myUid():獲取該進程的用戶ID。

android.os.Process.supportsProcesses:判斷該進程是否支持多進程曙旭。

// 獲取/設(shè)置線程優(yōu)先級

getThreadPriority(int tid):獲取指定ID的線程的優(yōu)先級盗舰。

setThreadPriority(int priority):設(shè)置當前線程的優(yōu)先級。

setThreadPriority(int tid,int priority):設(shè)置指定ID的線程的優(yōu)先級桂躏。

//管理進程

killProcess(int pid):殺死指定的進程钻趋。

sendSignal(int pid,int singal):向指定的進程發(fā)送信號。

android.os.Environment

//獲取系統(tǒng)環(huán)境變量

getDataDirectory():獲取當前系統(tǒng)中數(shù)據(jù)文件夾環(huán)境變量剂习。

getDownloadCacheDirectory():獲取當前系統(tǒng)中下載緩存文件環(huán)境變量蛮位。

getExternalStorageDirectory():獲取當前系統(tǒng)中外部存儲文件環(huán)境變量。

getRootDirectory():獲取當前系統(tǒng)中根文件環(huán)境變量鳞绕。

主要參考文章請點這里.

具體用法參考地址.?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末失仁,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子们何,更是在濱河造成了極大的恐慌萄焦,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件垂蜗,死亡現(xiàn)場離奇詭異楷扬,居然都是意外死亡解幽,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門烘苹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來躲株,“玉大人,你說我怎么就攤上這事镣衡∷ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵廊鸥,是天一觀的道長望浩。 經(jīng)常有香客問我,道長惰说,這世上最難降的妖魔是什么磨德? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮吆视,結(jié)果婚禮上典挑,老公的妹妹穿的比我還像新娘。我一直安慰自己啦吧,他們只是感情好您觉,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著授滓,像睡著了一般琳水。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上般堆,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天在孝,我揣著相機與錄音,去河邊找鬼郁妈。 笑死浑玛,一個胖子當著我的面吹牛绍申,可吹牛的內(nèi)容都是我干的噩咪。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼极阅,長吁一口氣:“原來是場噩夢啊……” “哼胃碾!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起筋搏,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤仆百,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后奔脐,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體俄周,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡吁讨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了峦朗。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片建丧。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖波势,靈堂內(nèi)的尸體忽然破棺而出翎朱,到底是詐尸還是另有隱情,我是刑警寧澤尺铣,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布拴曲,位于F島的核電站,受9級特大地震影響凛忿,放射性物質(zhì)發(fā)生泄漏澈灼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一店溢、第九天 我趴在偏房一處隱蔽的房頂上張望蕉汪。 院中可真熱鬧,春花似錦逞怨、人聲如沸者疤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽驹马。三九已至,卻和暖如春除秀,著一層夾襖步出監(jiān)牢的瞬間糯累,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工册踩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留泳姐,地道東北人。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓暂吉,卻偏偏與公主長得像胖秒,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子慕的,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容