1. 获取手机型号
String model= ;
2. 获取手机厂商:
String carrier= ;
3、获取手机信号强度
public void getCurrentNetDBM(Context context) {
final TelephonyManager tm = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
PhoneStateListener mylistener = new PhoneStateListener(){
@Override
public void onSignalStrengthsChanged(SignalStrength signalStrength) {
(signalStrength);
String signalInfo = ();
String[] params = (" ");
if(() == TelephonyManager.NETWORK_TYPE_LTE){
//4G网络 最佳范围 >-90dBm 越大越好
int Itedbm = (params[9]);
setDBM(Itedbm+"");
}else if(() == TelephonyManager.NETWORK_TYPE_HSDPA ||
() == TelephonyManager.NETWORK_TYPE_HSPA ||
() == TelephonyManager.NETWORK_TYPE_HSUPA ||
() == TelephonyManager.NETWORK_TYPE_UMTS){
//3G网络最佳范围 >-90dBm 越大越好 ps:中国移动3G获取不到 返回的无效dbm值是正数(85dbm)
//在这个范围的已经确定是3G,但不同运营商的3G有不同的获取方法,故在此需做判断 判断运营商与网络类型的工具类在最下方
String yys = (getApplication());//获取当前运营商
if (yys=="中国移动") {
setDBM(0+"");//中国移动3G不可获取,故在此返回0
}else if (yys=="中国联通") {
int cdmaDbm = ();
setDBM(cdmaDbm+"");
}else if (yys=="中国电信") {
int evdoDbm = ();
setDBM(evdoDbm+"");
}
}else{
//2G网络最佳范围>-90dBm 越大越好
int asu = ();
int dbm = -113 + 2*asu;
setDBM(dbm+"");
}
}
};
//开始监听
(mylistener, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
}