1. 获取手机型号
String model= android.os.Build.MODEL;
2. 获取手机厂商:
String carrier= android.os.Build.MANUFACTURER;
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) {
super.onSignalStrengthsChanged(signalStrength);
String signalInfo = signalStrength.toString();
String[] params = signalInfo.split(" ");
if(tm.getNetworkType() == TelephonyManager.NETWORK_TYPE_LTE){
//4G网络 最佳范围 >-90dBm 越大越好
int Itedbm = Integer.parseInt(params[9]);
setDBM(Itedbm+"");
}else if(tm.getNetworkType() == TelephonyManager.NETWORK_TYPE_HSDPA ||
tm.getNetworkType() == TelephonyManager.NETWORK_TYPE_HSPA ||
tm.getNetworkType() == TelephonyManager.NETWORK_TYPE_HSUPA ||
tm.getNetworkType() == TelephonyManager.NETWORK_TYPE_UMTS){
//3G网络最佳范围 >-90dBm 越大越好 ps:中国移动3G获取不到 返回的无效dbm值是正数(85dbm)
//在这个范围的已经确定是3G,但不同运营商的3G有不同的获取方法,故在此需做判断 判断运营商与网络类型的工具类在最下方
String yys = IntenetUtil.getYYS(getApplication());//获取当前运营商
if (yys=="中国移动") {
setDBM(0+"");//中国移动3G不可获取,故在此返回0
}else if (yys=="中国联通") {
int cdmaDbm = signalStrength.getCdmaDbm();
setDBM(cdmaDbm+"");
}else if (yys=="中国电信") {
int evdoDbm = signalStrength.getEvdoDbm();
setDBM(evdoDbm+"");
}
}else{
//2G网络最佳范围>-90dBm 越大越好
int asu = signalStrength.getGsmSignalStrength();
int dbm = -113 + 2*asu;
setDBM(dbm+"");
}
}
};
//开始监听
tm.listen(mylistener, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
}