Android 获取手机型号、信号强度、厂商等信息
来源:互联网 发布:上海linux运维培训 编辑:程序博客网 时间:2024/06/05 16:58
1. 获取手机型号
2. 获取手机厂商:
3、获取手机信号强度
1. 获取手机型号
2. 获取手机厂商:
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);
}
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);
}
阅读全文
1 0
- Android 获取手机型号、信号强度、厂商等信息
- 获取手机型号等信息
- android手机型号等信息
- Android获取信号强度
- Android 获取信号强度
- Android获取手机型号,系统版本,App版本号等信息
- 获取Android手机型号,系统版本,App版本号等信息
- Android获取手机型号,系统版本,App版本号等信息
- Android获取手机型号,系统版本,App版本号等信息
- Android 获取手机型号,版本号等。
- Android 信号强度的获取
- Android 信号强度的获取
- Android中获取信号强度
- android获取wifi信号强度
- Android获取WIFI信号强度
- android获取wifi信号强度
- Android 获取wifi信号强度
- android 获取wifi 信号质量,信号强度
- 14个JavaScript调试技巧
- HTTP协议
- 集合框架2
- C#对象数组 对应js与ts之间的转换
- js正则密码验证密码至少包含大写字母,小写字母,数字,且不少于8位
- Android 获取手机型号、信号强度、厂商等信息
- 算法导论-证明强连通分量算法
- jQuery对象 与 js对象 区别与联系
- SpringBoot的简单入门
- ssm框架开发定时任务到达某一个时间点自动更新数据
- 欢迎使用CSDN-markdown编辑器
- 2.3 寻找发帖"水王"
- cannot add a child that doesnot have a YogoNode to a parent without a measure function!
- 对链表的基本实现和各种操作