1. 安卓手机如何把信号强度转换成数字来显示
需要破解权限,然后下载软件替换即可,至于软件不推荐,自己实用的最好,上网络搜信号图标
2. 利民通讯 TelusGT 电信3G 智能 双模双待 EVDO 安卓android2.3 GPS
果断联系淘宝客服看能不能申请维权,我也是在他家买了手机,已经退货了,他不肯给我退款,现在维权中。
3. 加拿大 原装HTC A510C EVDO电信3G双模双待智能安卓android2.3 有人用过吗 质量怎么样
这种北美货你也敢买?他们的频段制式和我们不同,到时候网络不稳定可不要骂火腿肠坑爹哦
4. 如何获得在Android的LTE信号的强度
Android手机信号强度检测详细介绍
作者:skxy 字体:[增加 减小] 类型:转载 时间:2016-11-17 我要评论
这篇文章主要介绍了Android手机信号强度检测的相关资料,android定义了2种信号单位:dBm和asu。具体两种的关系本文给大家介绍非常详细,需要的朋友可以参考下
最近到处在跑着找工作,难免在面试过程中遇到这样那样的问题,记得最清楚一次在面试过程中被问到,当手机处于弱网状态下,如何处理,如何监听网络信号强度变化。但是真是蒙了,回答的乱七八糟,思路一点都不明确。今天小编在这里带领大家了解下关于手机信号强度的相关几个概念。
Android手机信号强度介绍
android定义了2种信号单位:dBm和asu。它们之间的关系是:dBm =-113+2asu,这是google给android手机定义的特有信号单位。例如,我的信号强度为-53dBm,则对应30asu,因为-53 = -113 + (230) 。
详细介绍两者:
asu:alone signal unit 独立信号单元,是一种模拟信号。ASU仅仅代表手机将它的位置传递给附近的信号塔的速率。它和dBm测量的是一样的东西,但是是以一种更加线性的方式来表示。
dBm:是一个表示功率绝对值的值(也可以认为是以1mW功率为基准的一个比值),计算公式为:10log(功率值/1mw)。
[例] 如果功率P为1mw,折算为dBm后为0dBm。
[例] 对于0.01mW的功率,按dBm单位进行折算后的值应为: 10log(0.01/1)=-20dBm。
这个数值越大,表明信号越好。由于手机信号强度一般较小,折算成为dBm一般都是负数。
中国移动的规范规定,手机接收电平>=(城市取-90dBm;乡村取-94dBm) 时,则满足覆盖要求,
也就是说此处无线信号强度满足覆盖要求.-67dBm要比-90dBm信号要强20多个dB,
那么它在打电话接通成功率和通话过程中的话音质量都会好的多。再引入一个相关概念dB。
dB:是一个表征相对值的值,纯粹的比值,只表示两个量的相对大小关系,没有单位,当考虑甲的功率相比于乙功率大或小多少个dB时,按下面的计算公式:10log(甲功率/乙功率),如果采用两者的电压 比计算,要用20log(甲电压/乙电压)。
[例] 甲功率比乙功率大一倍,那么10lg(甲功率/乙功率)=10lg2=3dB,即甲的功率比乙的功率大3 dB。反之,如果甲的功率是乙的功率的一半,则甲的功率比乙的功率小3 dB。
总结:dBm是负数,越接近0信号强度越高,信号越好,但不可能为0。asu为正数,值越大信号越好。dB是两个量之间的比值,表示两个量间的相对大小,而dBm则是表示功率绝对大小的值。
关于对数运算,不记得的自行复习一下了。
下面再来了解一下网络类型吧,还是很多的,不过在国内只要了解国内三大运营商的网络类型大概就可以了。
电信
2G CDMA
3G CDMA2000
4G TD-LTE,FDD-LTE
移动
2G GSM
3G TD-SCDMA
4G TD-LTE,FDD-LTE
联通
2G GSM
3G WCDMA
4G TD-LTE,FDD-LTE
而谷歌API给我们提供的有19种类型,在TelephonyManager类中定义,具体如下
/** Network type is unknown */
public static final int NETWORK_TYPE_UNKNOWN = 0;
/** Current network is GPRS */
public static final int NETWORK_TYPE_GPRS = 1;
/** Current network is EDGE */
public static final int NETWORK_TYPE_EDGE = 2;
/** Current network is UMTS */
public static final int NETWORK_TYPE_UMTS = 3;
/** Current network is CDMA: Either IS95A or IS95B*/
public static final int NETWORK_TYPE_CDMA = 4;
/** Current network is EVDO revision 0*/
public static final int NETWORK_TYPE_EVDO_0 = 5;
/** Current network is EVDO revision A*/
public static final int NETWORK_TYPE_EVDO_A = 6;
/** Current network is 1xRTT*/
public static final int NETWORK_TYPE_1xRTT = 7;
/** Current network is HSDPA */
public static final int NETWORK_TYPE_HSDPA = 8;
/** Current network is HSUPA */
public static final int NETWORK_TYPE_HSUPA = 9;
/** Current network is HSPA */
public static final int NETWORK_TYPE_HSPA = 10;
/** Current network is iDen */
public static final int NETWORK_TYPE_IDEN = 11;
/** Current network is EVDO revision B*/
public static final int NETWORK_TYPE_EVDO_B = 12;
/** Current network is LTE */
public static final int NETWORK_TYPE_LTE = 13;
/** Current network is eHRPD */
public static final int NETWORK_TYPE_EHRPD = 14;
/** Current network is HSPA+ */
public static final int NETWORK_TYPE_HSPAP = 15;
/** Current network is GSM {@hide} */
public static final int NETWORK_TYPE_GSM = 16;
/** Current network is TD_SCDMA {@hide} */
public static final int NETWORK_TYPE_TD_SCDMA = 17;
/** Current network is IWLAN {@hide} */
public static final int NETWORK_TYPE_IWLAN = 18;
下面通过一些实例来测试一下吧
首先记得加权限
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
实例代码
public class MainActivity extends AppCompatActivity {
private static final int NETWORKTYPE_WIFI = 0;
private static final int NETWORKTYPE_4G = 1;
private static final int NETWORKTYPE_2G = 2;
private static final int NETWORKTYPE_NONE = 3;
public TextView mTextView;
public TelephonyManager mTelephonyManager;
public PhoneStatListener mListener;
/**
* 网络信号强度监听
*
* @param savedInstanceState
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTextView = (TextView) findViewById(R.id.textview);
//获取telephonyManager
mTelephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
//开始监听
mListener = new PhoneStatListener();
//监听信号强度
mTelephonyManager.listen(mListener, PhoneStatListener.LISTEN_SIGNAL_STRENGTHS);
}
@Override
protected void onResume() {
super.onResume();
mTelephonyManager.listen(mListener, PhoneStatListener.LISTEN_SIGNAL_STRENGTHS);
}
@Override
protected void onPause() {
super.onPause();
//用户不在当前页面时,停止监听
mTelephonyManager.listen(mListener, PhoneStatListener.LISTEN_NONE);
}
private class PhoneStatListener extends PhoneStateListener {
//获取信号强度
@Override
public void onSignalStrengthsChanged(SignalStrength signalStrength) {
super.onSignalStrengthsChanged(signalStrength);
//获取网络信号强度
//获取0-4的5种信号级别,越大信号越好,但是api23开始才能用
// int level = signalStrength.getLevel();
int gsmSignalStrength = signalStrength.getGsmSignalStrength();
//获取网络类型
int netWorkType = getNetWorkType(MainActivity.this);
switch (netWorkType) {
case NETWORKTYPE_WIFI:
mTextView.setText("当前网络为wifi,信号强度为:" + gsmSignalStrength);
break;
case NETWORKTYPE_2G:
mTextView.setText("当前网络为2G移动网络,信号强度为:" + gsmSignalStrength);
break;
case NETWORKTYPE_4G:
mTextView.setText("当前网络为4G移动网络,信号强度为:" + gsmSignalStrength);
break;
case NETWORKTYPE_NONE:
mTextView.setText("当前没有网络,信号强度为:" + gsmSignalStrength);
break;
case -1:
mTextView.setText("当前网络错误,信号强度为:" + gsmSignalStrength);
break;
}
}
}
public static int getNetWorkType(Context context) {
int mNetWorkType = -1;
ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = manager.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected()) {
String type = networkInfo.getTypeName();
if (type.equalsIgnoreCase("WIFI")) {
mNetWorkType = NETWORKTYPE_WIFI;
} else if (type.equalsIgnoreCase("MOBILE")) {
return isFastMobileNetwork(context) ? NETWORKTYPE_4G : NETWORKTYPE_2G;
}
} else {
mNetWorkType = NETWORKTYPE_NONE;//没有网络
}
return mNetWorkType;
}
/**判断网络类型*/
private static boolean isFastMobileNetwork(Context context) {
TelephonyManager telephonyManager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
if (telephonyManager.getNetworkType() == TelephonyManager.NETWORK_TYPE_LTE) {
//这里只简单区分两种类型网络,认为4G网络为快速,但最终还需要参考信号值
return true;
}
return false;
}
}
关于信号获取流程,这个还需深入研究,目前只在应用层简单获取了网络信号。
5. android系统如何获取imei号码,获取手机型号和系统版本号
/** * **创建日期 2010-4-29 下午05:02:47 * */ package net.sunniwell.app; import android.app.Activity; import android.os.Bundle; import android.telephony.CellLocation; import android.telephony.PhoneStateListener; import android.telephony.TelephonyManager; public class TelManager extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TelephonyManager tm = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE); /* * 电话状态: * 1.tm.CALL_STATE_IDLE=0 无活动 * 2.tm.CALL_STATE_RINGING=1 响铃 * 3.tm.CALL_STATE_OFFHOOK=2 摘机 */ tm.getCallState();//int /* * 电话方位: * */ tm.getCellLocation();//CellLocation /* * 唯一的设备ID: * GSM手机的 IMEI 和 CDMA手机的 MEID. * Return null if device ID is not available. */ tm.getDeviceId();//String /* * 设备的软件版本号: * 例如:the IMEI/SV(software version) for GSM phones. * Return null if the software version is not available. */ tm.getDeviceSoftwareVersion();//String /* * 手机号: * GSM手机的 MSISDN. * Return null if it is unavailable. */ tm.getLine1Number();//String /* * 附近的电话的信息: * 类型:List * 需要权限:android.Manifest.permission#ACCESS_COARSE_UPDATES */ tm.getNeighboringCellInfo();//List /* * 获取ISO标准的国家码,即国际长途区号。 * 注意:仅当用户已在网络注册后有效。 */ tm.getNetworkOperatorName();//String /* * 当前使用的网络类型: * 例如: NETWORK_TYPE_UNKNOWN 网络类型未知 0 NETWORK_TYPE_GPRS GPRS网络 1 NETWORK_TYPE_EDGE EDGE网络 2 NETWORK_TYPE_UMTS UMTS网络 3 NETWORK_TYPE_HSDPA HSDPA网络 8 NETWORK_TYPE_HSUPA HSUPA网络 9 NETWORK_TYPE_HSPA HSPA网络 10 NETWORK_TYPE_CDMA CDMA网络,IS95A 或 IS95B. 4 NETWORK_TYPE_EVDO_0 EVDO网络, revision 0. 5 NETWORK_TYPE_EVDO_A EVDO网络, revision A. 6 NETWORK_TYPE_1xRTT 1xRTT网络 7 */ tm.getNetworkType();//int /* * 手机类型: * 例如: PHONE_TYPE_NONE 无信号 PHONE_TYPE_GSM GSM信号 PHONE_TYPE_CDMA CDMA信号 */ tm.getPhoneType();//int /* * Returns the ISO country code equivalent for the SIM provider's country code. * 获取ISO国家码,相当于提供SIM卡的国家码。 * */ tm.getSimCountryIso();//String /* * Returns the MCC+MNC (mobile country code + mobile network code) of the provider of the SIM. 5 or 6 decimal digits. * 获取SIM卡提供的移动国家码和移动网络码.5或6位的十进制数字. * SIM卡的状态必须是 SIM_STATE_READY(使用getSimState()判断). */ tm.getSimOperator();//String /* * 服务商名称: * 例如:中国移动、联通 * SIM卡的状态必须是 SIM_STATE_READY(使用getSimState()判断). */ tm.getSimOperatorName();//String /* * SIM卡的序列号: * 需要权限:READ_PHONE_STATE */ tm.getSimSerialNumber();//String /* * SIM的状态信息: * SIM_STATE_UNKNOWN 未知状态 0 SIM_STATE_ABSENT 没插卡 1 SIM_STATE_PIN_REQUIRED 锁定状态,需要用户的PIN码解锁 2 SIM_STATE_PUK_REQUIRED 锁定状态,需要用户的PUK码解锁 3 SIM_STATE_NETWORK_LOCKED 锁定状态,需要网络的PIN码解锁 4 SIM_STATE_READY 就绪状态 5 */ tm.getSimState();//int /* * 唯一的用户ID: * 例如:IMSI(国际移动用户识别码) for a GSM phone. * 需要权限:READ_PHONE_STATE */ tm.getSubscriberId();//String /* * 取得和语音邮件相关的标签,即为识别符 * 需要权限:READ_PHONE_STATE */ tm.getVoiceMailAlphaTag();//String /* * 获取语音邮件号码: * 需要权限:READ_PHONE_STATE */ tm.getVoiceMailNumber();//String /* * ICC卡是否存在 */ tm.hasIccCard();//boolean /* * 是否漫游: * (在GSM用途下) */ tm.isNetworkRoaming();// } }
6. 安卓Android系统的平板电脑,支持hdmi连接到液晶电视,有蓝牙,支持evdo的有吗
没有!视频没有办法无线!
河南平板电脑大卖场,河南科技市场“海龙电子城”2B09区。亿捷科技!为你解答。
7. android 怎么获取移动3g信号强度Dbm
signalStrength.getCdmaDbm(); 联通3G 信号强度
signalStrength.getEvdoDbm(); 电信3G 信号强度
8. 原生安卓的种类
Nexus One
基本参数
操作系统:Android 2.1 ,屏幕参数:3.7英寸 ;照相机为800*480像素 AMOLED ;ROM和RAM为512MB ;摄像头为500万像素自动对焦;机身尺寸为59.8×119×11.5mm ;手机重量130克;待机时间:最大2G下290小时, 3G下250小时.通话时间:最大2G下10小时; 3G下7小时;网络制式:四频GSM/EDGE HSDPA/HSUPA ;无线数据:Wi-Fi、蓝牙2.1+EDR、A2DP.
Nexus One是Google推出的运行Android手机操作系统的智能手机。这也是Google自行推出的第一款手机。该手机由HTC公司生产,于2010年1月5日发布。手机的功能包括语音文字识别,内置的Gmail程序,以及驾驶中的语音导航等等。
Nexus S
基本参数
上市日期为2010年12月16日;手机类型 3G智能手机,主屏尺寸 4.0英寸;为电容触摸屏,多点触控 ;主屏材质 Super AMOLED (i9020为Super Amoled / i9023为 Super Clear LCD);主屏分辨率为480×800像素;网络模式为 GSM,WCDMA ;数据业务为 GPRS,EDGE,HSPA;支持频段为 2G:GSM 850/900/1800/1900,3G:WCDMA 900/1700/2100MHz ;速率 下行:7.2Mbps,上行:5.76Mbps ;操作系统为 Android OS v2.3;CPU型号为ARM Cortex-A8;内存为 16GB ROM+512MB RAM;电池为1500毫安时锂电池;通话时间 为720分钟(2G),402分钟(3G);待机时间 720小时(2G),427小时(3G);虚拟QWERTY键盘 机身有黑色+白色两种,手机尺寸 123.9×63×10.88mm;手机重量 129g.
Galaxy Nexus
基本参数
主屏4.65英寸,材质 Super AMOLED ;分辨率 1280×720像素
操作系统 Android 4.0 Ice Cream Sandwich CPU型号 TI OMAP 4460
CPU频率 1200MHz ;内存为1GB RAM
Nexus4
基本参数
主屏4.7英寸 ,电容触摸屏;材质:True HD IPS
分辨率1280x768像素 ;操作系统:Android OS 4.2 ;四核;高通骁龙Snapdragon APQ8064CPU;频率为1536MHz
RAM2GB容量; ROM8GB/16GB容量, 电池2100mAh
手机尺寸为133.9x68.7x9.1mm
Nexus5
基本参数 手机昵称 Google Nexus 5 手机版本 美版 手机类型 4G/3G、智能手机 外观样式 直板 操作系统 Android 4.4 手机制式 GSM,CDMA,WCDMA,LTE(这个版本是LG D820也就是美版,其他版本均不支持CDMA) 支持频段 2G:GSM 850/900/1800/1900MHz
CDMA: Band Class: 0/1/10(这个频段是中国电信也支持的,其实大多数有CDMA的国家都在这个频段范围内,所以是支持所有CDMA频段的,谷歌官方没有明确说明是否支持电信3G(evdo也就是CDMA2000)数据上网,需真机测试后才能知道)
3G:WCDMA: Bands: 1/2/4/5/6/8/19
4G:LTE: Bands: 1/2/4/5/17/19/25/26/41 网络连接 GSM/GPRS/EDGE/UMTS/HSDPA/HSUPA+/LTE(暂时不知是否支持中国移动4G(TD-LTE)需真机测试后才能知道) 硬件规格 内容 RAM RAM:2GB ROM16G、32G存储卡 不支持 CPU 高通 骁龙Snapdragon MSM8974A 高通骁龙800四核处理器 GPU型号 Adreno 330 核心数 四核 外观特征 内容屏幕大小4.95寸主屏颜色 1677万色 分辨率 1920×1080 触摸屏 电容屏
多点触摸 主屏材质 IPS 输入方式 虚拟键盘+手写 拍照功能 内容 摄像头 内置 摄像头像素 800万像素 RAM容量2GBROM容量16GB/32GB闪光灯 LED补光灯 摄像头描述 数码变焦
自动对焦
微笑快门
防抖技术
ISO调节
触摸对焦
全景模式 场景模式 支持 前置摄像头 130万像素 连拍功能 支持 照片质量 最大2448x3264分辨率 视频拍摄 支持, 1080p(1920×1080,30帧/秒) 娱乐功能 内容扬声器单扬声器 音乐格式 MP3、WMA、WAV等, Beats Audio音效技术 视频格式 MP4、3GP等 Flash播放 支持 游戏 内置游戏, 支持下载 即时通讯 支持Google Talk等 电子书 支持 传输功能 内容 耳机接口 3.5 mm查看手机耳机报价NFC技术 支持智能媒体间交换和传输数据, 电子标签识别、点对点付款、身份识别等 蓝牙 蓝牙4.0+HS, A2DP立体声蓝牙耳机功能查看蓝牙耳机报价 数据线接口 USB2.0接口查看手机数据线报价 Wi-Fi/WAPI 支持WIFI(802.11n) 商务功能 内容日程表支持 世界时钟 支持 电子邮件 支持 飞行模式 支持 语音命令 支持 办公工具 编辑doc、xls、ppt、txt文档, 查看pdf文档 扩展功能 距离感应支持 光线感应 支持 重力感应 支持 GPS导航 内置GPS,支持A-GPS 电子罗盘 支持数字指南针功能 霍尔感应器支持OTG不支持基本功能 手机铃声 支持MP3及和弦铃声 彩信 支持 短信群发 支持 话机通讯录 名片式通讯录 免提接听 支持 来电识别 来电大头贴、来电铃声识别 闹钟 支持 日历 支持 主题模式 支持 计算器 支持 录音功能 支持 电池性 2300mah 包装清单:包装清单:主机 x1锂电池 x1数据线 x1充电器 x1说明书 x1
9. 2000-3000左右的EVDO/CDMA手机,要Android的,最好是2.2,有合适的吗谢谢!
摩托罗拉ME525(Defy)
网络模式:GSM,WCDMA 外观设计:直板 主屏尺寸:3.7英寸 480×854像素 触摸屏:电容触摸屏,支持多点触 摄像头像:500万像素 CMOS 操作系统:Android OS v2.2 机身内存:2GB ROM+512MB RAM 电池规格:1500毫安时锂
HTC Desire(G7)
网络模式:GSM,WCDMA 外观设计:直板 主屏尺寸:3.7英寸 480×800像素 触摸屏:电容触摸屏,支持多点触 摄像头像:500万像素 操作系统:Android OS v2.1 机身内存:512MB ROM+576MB RAM 电池规格:1400毫安时锂
诺基亚C7
网络模式:GSM,WCDMA 外观设计:直板 主屏尺寸:3.5英寸 360×640像素 触摸屏:电容触摸屏 摄像头像:800万像素 CMOS 操作系统:Symbian^3 机身内存:8GB ROM+256MB RAM 电池规格:1200毫安时锂
摩托罗拉XT702(里程碑)
网络模式:GSM,WCDMA 外观设计:侧滑盖 主屏尺寸:3.7英寸 480×854像素 触摸屏:电容触摸屏,支持多点触 摄像头像:500万像素 CMOS 操作系统:Android OS v2.1 机身内存:512MB ROM+256MB RAM 电池规格:1390毫安时锂
HTC HD2
网络模式:GSM,WCDMA 外观设计:直板 主屏尺寸:4.3英寸 480×800像素 触摸屏:电容触摸屏,支持多点触 摄像头像:500万像素 CMOS 操作系统:Windows Mobile 6.5 Pro 机身内存:512MB ROM+448MB RAM 电池规格:1230毫安时锂
10. android监控sim卡是否有服务示例
给你个示例吧:
package com.water.activity;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.telephony.CellLocation;
import android.telephony.NeighboringCellInfo;
import android.telephony.TelephonyManager;
import android.util.Log;
public class MyList extends Activity {
/**
* android API中的TelephonyManager对象,可以取得SIM卡中的信息
*/
private TelephonyManager telMgr;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
telMgr = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
if (telMgr.getSimState() == telMgr.SIM_STATE_READY) {
Log.i("MyList", "良好");
} else if (telMgr.getSimState() == telMgr.SIM_STATE_ABSENT) {
Log.i("MyList", "无SIM卡");
} else {
Log.i("MyList", "SIM卡被锁定或未知的状态");
}
Log.i("MyList", "电话状态[0 无活动/1 响铃/2 摘机]:" + getCallState());
Log.i("MyList", "电话方位:" + getCellLocation());
Log.i("MyList", "唯一的设备ID:" + getDeviceId());
Log.i("MyList", "设备的软件版本号:" + getDeviceSoftwareVersion());
Log.i("MyList", "手机号:" + getLine1Number());
Log.i("MyList", "附近的电话的信息:" + getNeighboringCellInfo());
Log.i("MyList", "获取ISO标准的国家码,即国际长途区号:" + getNetworkCountryIso());
Log.i("MyList", "MCC+MNC:" + getNetworkOperator());
Log.i("MyList", "(当前已注册的用户)的名字:" + getNetworkOperatorName());
Log.i("MyList", "当前使用的网络类型:" + getNetworkType());
Log.i("MyList", "手机类型:" + getPhoneType());
Log.i("MyList", "SIM卡的国家码:" + getSimCountryIso());
Log.i("MyList", "获取SIM卡提供的移动国家码和移动网络码.5或6位的十进制数字:" + getSimOperator());
Log.i("MyList", "服务商名称:" + getSimOperatorName());
Log.i("MyList", "SIM卡的序列号:" + getSimSerialNumber());
Log.i("MyList", "SIM的状态信息:" + getSimState());
Log.i("MyList", "唯一的用户ID:" + getSubscriberId());
Log.i("MyList", "取得和语音邮件相关的标签,即为识别符:" + getVoiceMailAlphaTag());
Log.i("MyList", "获取语音邮件号码:" + getVoiceMailNumber());
Log.i("MyList", "ICC卡是否存在:" + hasIccCard());
Log.i("MyList", "是否漫游:" + isNetworkRoaming());
Log.i("MyList", "获取数据活动状态:" + getDataActivity());
Log.i("MyList", "获取数据连接状态:" + getDataState());
}
/**
* 电话状态:<br/>
* CALL_STATE_IDLE 无任何状态时<br/>
* CALL_STATE_OFFHOOK 接起电话时<br/>
* CALL_STATE_RINGING 电话进来时
*
* @return
*/
private int getCallState() {
return telMgr.getCallState();
}
/**
* 返回当前移动终端的位置 <br/>
*
* @return
*/
private CellLocation getCellLocation() {
CellLocation location = telMgr.getCellLocation();
// 请求位置更新,如果更新将产生广播,接收对象为注册LISTEN_CELL_LOCATION的对象,需要的permission名称为ACCESS_COARSE_LOCATION。
// location.requestLocationUpdate();
return location;
}
/**
* 唯一的设备ID:<br/>
* 如果是GSM网络,返回IMEI;如果是CDMA网络,返回MEID<br/>
* 需要权限:android.permission.READ_PHONE_STATE
*
* @return null if device ID is not available.
*/
private String getDeviceId() {
return telMgr.getDeviceId();
}
/**
* 返回移动终端的软件版本:<br/>
* 例如:GSM手机的IMEI/SV码。<br/>
*
* @return null if the software version is not available.
*/
private String getDeviceSoftwareVersion() {
return telMgr.getDeviceSoftwareVersion();
}
/**
* 手机号:<br/>
* 对于GSM网络来说即MSISDN
*
* @return null if it is unavailable.
*/
private String getLine1Number() {
return telMgr.getLine1Number();
}
/**
* 返回当前移动终端附近移动终端的信息:<br/>
* 类型:List<NeighboringCellInfo><br/>
* 需要权限:android.Manifest.permission#ACCESS_COARSE_UPDATES
*
* @return
*/
private List<NeighboringCellInfo> getNeighboringCellInfo() {
// List<NeighboringCellInfo> infos = telMgr.getNeighboringCellInfo();
// for (NeighboringCellInfo info : infos) {
// // 获取邻居小区号
// int cid = info.getCid();
//
// // 获取邻居小区LAC,LAC:
// // 位置区域码。为了确定移动台的位置,每个GSM/PLMN的覆盖区都被划分成许多位置区,LAC则用于标识不同的位置区。
// info.getLac();
// info.getNetworkType();
// info.getPsc();
//
// // 获取邻居小区信号强度
// info.getRssi();
// }
return telMgr.getNeighboringCellInfo();
}
/**
* 获取ISO标准的国家码,即国际长途区号。<br/>
* 注意:仅当用户已在网络注册后有效。<br/>
* 在CDMA网络中结果也许不可靠。<br/>
*
* @return
*/
private String getNetworkCountryIso() {
return telMgr.getNetworkCountryIso();
}
/**
* MCC+MNC(mobile country code + mobile network code)<br/>
* 注意:仅当用户已在网络注册时有效。<br/>
* 在CDMA网络中结果也许不可靠。<br/>
*
* @return
*/
private String getNetworkOperator() {
return telMgr.getNetworkOperator();
}
/**
* 按照字母次序的current registered operator(当前已注册的用户)的名字<br/>
* 注意:仅当用户已在网络注册时有效。<br/>
* 在CDMA网络中结果也许不可靠。
*
* @return
*/
private String getNetworkOperatorName() {
return telMgr.getNetworkOperatorName();
}
/**
* 当前使用的网络类型:<br/>
* NETWORK_TYPE_UNKNOWN 网络类型未知 0<br/>
* NETWORK_TYPE_GPRS GPRS网络 1<br/>
* NETWORK_TYPE_EDGE EDGE网络 2<br/>
* NETWORK_TYPE_UMTS UMTS网络 3<br/>
* NETWORK_TYPE_HSDPA HSDPA网络 8<br/>
* NETWORK_TYPE_HSUPA HSUPA网络 9<br/>
* NETWORK_TYPE_HSPA HSPA网络 10<br/>
* NETWORK_TYPE_CDMA CDMA网络,IS95A 或 IS95B. 4<br/>
* NETWORK_TYPE_EVDO_0 EVDO网络, revision 0. 5<br/>
* NETWORK_TYPE_EVDO_A EVDO网络, revision A. 6<br/>
* NETWORK_TYPE_1xRTT 1xRTT网络 7<br/>
* 在中国,联通的3G为UMTS或HSDPA,移动和联通的2G为GPRS或EGDE,电信的2G为CDMA,电信的3G为EVDO<br/>
*
* @return
*/
private int getNetworkType() {
return telMgr.getNetworkType();
}
/**
* 返回移动终端的类型:<br/>
* PHONE_TYPE_CDMA 手机制式为CDMA,电信<br/>
* PHONE_TYPE_GSM 手机制式为GSM,移动和联通<br/>
* PHONE_TYPE_NONE 手机制式未知<br/>
*
* @return
*/
private int getPhoneType() {
return telMgr.getPhoneType();
}
/**
* 获取ISO国家码,相当于提供SIM卡的国家码。
*
* @return Returns the ISO country code equivalent for the SIM provider's
* country code.
*/
private String getSimCountryIso() {
return telMgr.getSimCountryIso();
}
/**
* 获取SIM卡提供的移动国家码和移动网络码.5或6位的十进制数字.<br/>
* SIM卡的状态必须是 SIM_STATE_READY(使用getSimState()判断).
*
* @return Returns the MCC+MNC (mobile country code + mobile network code)
* of the provider of the SIM. 5 or 6 decimal digits.
*/
private String getSimOperator() {
return telMgr.getSimOperator();
}
/**
* 服务商名称:<br/>
* 例如:中国移动、联通<br/>
* SIM卡的状态必须是 SIM_STATE_READY(使用getSimState()判断).
*
* @return
*/
private String getSimOperatorName() {
return telMgr.getSimOperatorName();
}
/**
* SIM卡的序列号:<br/>
* 需要权限:READ_PHONE_STATE
*
* @return
*/
private String getSimSerialNumber() {
return telMgr.getSimSerialNumber();
}
/**
* SIM的状态信息:<br/>
* SIM_STATE_UNKNOWN 未知状态 0<br/>
* SIM_STATE_ABSENT 没插卡 1<br/>
* SIM_STATE_PIN_REQUIRED 锁定状态,需要用户的PIN码解锁 2<br/>
* SIM_STATE_PUK_REQUIRED 锁定状态,需要用户的PUK码解锁 3<br/>
* SIM_STATE_NETWORK_LOCKED 锁定状态,需要网络的PIN码解锁 4<br/>
* SIM_STATE_READY 就绪状态 5
*
* @return
*/
private int getSimState() {
return telMgr.getSimState();
}
/**
* 唯一的用户ID:<br/>
* 例如:IMSI(国际移动用户识别码) for a GSM phone.<br/>
* 需要权限:READ_PHONE_STATE
*
* @return
*/
private String getSubscriberId() {
return telMgr.getSubscriberId();
}
/**
* 取得和语音邮件相关的标签,即为识别符<br/>
* 需要权限:READ_PHONE_STATE
*
* @return
*/
private String getVoiceMailAlphaTag() {
return telMgr.getVoiceMailAlphaTag();
}
/**
* 获取语音邮件号码:<br/>
* 需要权限:READ_PHONE_STATE
*
* @return
*/
private String getVoiceMailNumber() {
return telMgr.getVoiceMailNumber();
}
/**
* ICC卡是否存在
*
* @return
*/
private boolean hasIccCard() {
return telMgr.hasIccCard();
}
/**
* 是否漫游:(在GSM用途下)
*
* @return
*/
private boolean isNetworkRoaming() {
return telMgr.isNetworkRoaming();
}
/**
* 获取数据活动状态<br/>
* DATA_ACTIVITY_IN 数据连接状态:活动,正在接受数据<br/>
* DATA_ACTIVITY_OUT 数据连接状态:活动,正在发送数据<br/>
* DATA_ACTIVITY_INOUT 数据连接状态:活动,正在接受和发送数据<br/>
* DATA_ACTIVITY_NONE 数据连接状态:活动,但无数据发送和接受<br/>
*
* @return
*/
private int getDataActivity() {
return telMgr.getDataActivity();
}
/**
* 获取数据连接状态<br/>
* DATA_CONNECTED 数据连接状态:已连接<br/>
* DATA_CONNECTING 数据连接状态:正在连接<br/>
* DATA_DISCONNECTED 数据连接状态:断开<br/>
* DATA_SUSPENDED 数据连接状态:暂停<br/>
*
* @return
*/
private int getDataState() {
return telMgr.getDataState();
}
}