因為業務需要,獲取到手機主機板的訊號強度,包括wifi,4g,2g。來驗證當前主機板模組是否是因為訊號不好而導致問題,我去網上查詢了幾遍,將一些文章結合起來。最後獲取到相關資料。以下是相關的操作步驟
1.加許可權
2.例項化telephonymanager,建立起phonestatlistener監聽(主要是帶sim卡的狀態監聽),再註冊乙個networkbroadcastreceiver監聽。//獲取telephonymanagermtelephonymanager = (telephonymanager) getsystemservice(context.telephony_service);
//開始監聽
mlistener = new phonestatlistener();
mnetworkbroadcastreciver = new networkbroadcastreciver();
intentfilter intentfilter = new intentfilter();
intentfilter.addaction(connectivitymanager.connectivity_action);
intentfilter.addaction(wifimanager.network_state_changed_action);
intentfilter.addaction(wifimanager.wifi_state_changed_action);
intentfilter.addaction(wifimanager.rssi_changed_action);
registerreceiver(mnetworkbroadcastreciver, intentfilter);
mtelephonymanager.listen(mlistener, phonestatlistener.listen_signal_strengths);
/*** 觀察手機帶sim卡時的訊號強度
*/private class phonestatlistener extends phonestatelistener
}
//接收網路狀態改變的廣播class networkbroadcastreciver extends broadcastreceiver
}
/**最後結束取消監聽,取消註冊* 獲取網路的資訊
*/private void getnetworkinfo()
method method=signal.getclass().getmethod("getdbm");
mgsmsignalstrength= (int) method.invoke(signal);
if(mgsmsignalstrength>-90)else
} catch (nosuchmethodexception e) catch (illegalacces***ception e) catch (invocationtargetexception e)
}else
mgsmsignalstrength = signal.getgsmsignalstrength();
}mtextview.settext("當前為" + networkstatus + ",訊號強度=" + mgsmsignalstrength);
log.e("tiwolf", "當前為" + networkstatus + ",訊號強度=" + mgsmsignalstrength );
break;
}} else
}
mtelephonymanager.listen(mlistener, phonestatlistener.listen_none);
unregisterreceiver(mnetworkbroadcastreciver);
Android手機訊號強度詳解
經常有機油反應android手機訊號差的問題,其實不要被你手機訊號還有多少格欺騙,那都是手機廠商自己定義的。咱要玩專業點的,直接看訊號強度dbm。android系統查訊號強度在設定 關於手機 網路裡。室內和室外的訊號強度是有差距的。一般室外訊號比室內好。現在來看這個所謂的dbm,數值範圍在 xx 0...
用網速作為手機訊號強度
用網速作為手機訊號強度 紅朝儒生 2014 5 18 關鍵字 網速 訊號強度 簡介 用網速表示訊號強度的標準。現在,打 是手機的次要功能,上網才是首選功能,能上網也同樣能打網路 當前的手機訊號強度,其實只是跟基站之間的訊號強度。這在以前,也是沒有問題的,訊號越強打 越好。但是現在呢,事情變化了。所以...
RSSI 訊號強度
rssi是負值並不代表其訊號值就是負值。這個值單位是dbm,是根據公式 n dbm 10log w 1mw 得來的,由公司可知,當功率值w小於1mw時,n就是負值。所以rssi是負值說明其功率小於1mw。1.dbm dbm 用於表達功率的絕對值,計算公式為 10lg p功率值 lmw 例 如果發射功...