通過監聽PhoneStateListener去獲取5G的信號值,只示范華為手機,其他的手機同理,
public class MyPhoneMessage extends PhoneStateListener{
@Override
public void onSignalStrengthsChanged(SignalStrength signalStrength) {
super.onSignalStrengthsChanged(signalStrength);
String signal = signalStrength.toString();
//以空格截取
String[] parts = signal.split(" ");
//4G信號
String lteStrength = "";
//5G信號
String nrStrength = "";
//獲取手機廠商名字
String manufacturer = Build.MANUFACTURER;
switch (manufacturer){
case "HUAWEI":
//Android Q和以下的手機4G資訊不一樣
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
lteStrength = removeEquals(parts[30]);// 4G
} else {
lteStrength = removeEquals(parts[9]);// 4G
}
nrStrength = removeEquals(parts[51]);// 5G
break;
}
}
}
/***
* 如果有等于號截取等于號之后的東西
* @param ss 需要截取的字串
* @return
*/
private String removeEquals(String ss) {
if (!TextUtils.isEmpty(ss)) {
if (ss.contains("=")) {
int i = ss.indexOf("=");
ss = ss.substring(i + 1, ss.length());
}
}
return ss;
}
然后在Activity中去監聽這個PhoneStateListener:
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
tm.listen(new MyPhoneMessage(),PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/244703.html
標籤:其他
上一篇:czh的踩坑筆記 - 微信小程式 - 拖拽操作demo
下一篇:最簡單的生成ios證書的方法
