Android中的Telephony学习笔记(2)
上一篇文章中学习了android.provider中Telephony类。
这一篇文章学习android.telephony包中的类,这些类是android提供给上层调用的API。
为监測基本电话信息提供的一系列的API。比如网络类型,连接状态。操作电话号码的工具类。
一共25个类。以下逐一介绍:
TelephonyManager
处理设备上的电话服务信息,应用能够使用这些方法检測电话的状态,处理用户的信息类型。也能够注冊一个监听器接受电话状态改变的通知。该类不能直接实例化,能够通过
Context.getSystemService(Context.TELEPHONY_SERVICE)
来获得该实例。假设想訪问受保护的信息,须要在配置文件中配置对应的权限才干訪问。
Constants
- ACTION_PHONE_STATE_CHANGE:当call状态改变时发送一个广播意图。
- ACTION_RESPOND_VIA_MESSAGE:当用户使用短信拒接时,发送一个意图电泳sms app去发送短信
- CALL_STATE_IDLE:设备状态:no activity
- CALL_STATE_OFFHOOK:设备状态:挂断
- CALL_STATE_RINGING:设备状态:有电话呼叫
- DATA_ACTIVITY_DORMANT:数据连接处于活动状态,可是物理连接时关闭的
- DATA_ACTIVITY_IN:数据连接处于活动状态,当前接受IP PPP流量
- DATA_ACTIVITY_INOUT:接受和发送IP PPP流量
- DATA_ACTIVITY_NONE:数据连接处于活动状态,可是无流量
- DATE_ACTIVITY_OUT:数据连接属于连接状态,发送IP PPP流量
- DATA_CONNECTED:数据连接状态:已连接
- DATA_CONNECTING:正在建立数据连接
- DATA_DISCONNECTED:数据连接断开
- DATA_SUSPENDED:数据连接中断
- EXTRA_INCOMING_NUMBER:当call状态改变时发送意图里面包括的来电电话号码
- EXTRA_STATE:来电状态
- NETWORK_TYPE_1xRTT:2G网络
- NETWORK_TYPE_CDMA:码分多址协议
- NETWORK_TYPE_EDGE:即增强型数据速率GSM演进技术,GSM过渡到3G的协议
- NETWORK_TYPE_EHRPD:CDMA过渡到LTE的协议
- NETWORK_TYPE_EVDO_0:EVDO_0网络类型
- NETWORK_TYPE_EVDO_A:EVDO_A网络类型
- NETWORK_TYPE_EVDO_B:EVDO_B网络类型
- NETWORK_TYPE_GPRS:GRPS(通用分组无线服务技术)网络类型
- NETWORK_TYPE_HSDPA:HSDPA网络类型
- NETWORK_TYPE_HSPAP:HSPAP(快速下行分组接入,3.5G)网络类型
- NETWORK_TYPE_HSUPA:HSUPA(快速上行链路分组接入)网络类型
- NETWORK_TYPE_IDEN:IDEN(集群通信系统)网络类型
- NETWORK_TYPE_LTE:LTE(长期演进技术。UMTS的进步版)网络类型
- NETWORK_TYPE_UMTS:UMTS(通用移动通信系统)网络类型
- NETWORK_TYPE_UNKNOWN:未知网络类型
- PHONE_TYPE_CDMA:CDMA格式的手机
- PHONE_TYPE_GSM:GSM格式的手机
- PHONE_TYPE_NONE:没有手机射频
- PHONE_TYPE_SIP:基于SIP协议的手机
- SIM_STATE_ABSENT:SIM卡状态:查找不到
- SIM_STATE_NETWORK_LOCKED:SIM状态:锁定,须要网络PIN码解锁
- SIM_STATE_PIN_REQUIRED:SIM状态:锁定。须要用户PIN码解锁
- SIM_STATE_PUK_REQUIRED:SIM卡状态:锁定。须要解锁卡解锁
- SIM_STATE_READY:SIM卡状态:准备(Ready)
- SIM_STATE_UNKNOWN:SIM卡状态:未知(Unknown)
Methods
List<CellInfo> getAllCellInfo()
得到全部电元信息
int getCallState()
当前通话状态
CellLocation getCellLocation()
获取当前设备的位置
int getDataActivity()
数据连接中的activity的类型
int getDataState()
数据连接的状态
String getDeviceId()
设备的ID号
String getDeviceSoftwareVersion()
设备的软件版本号
String getGroupIdLevel1()
GSM手机的groupId level1
String getLine1Number()
获取1号线的电话号码,比如GSM手机的MSISDN。须要权限:READ_PHONE_STATE.
String getMmsUAProfUrl()
短信代理商的URL
String getMmsUserAgent()
短信代理商
List<NeighboringCellInfo> getNeighboringCellInfo()
获取全部邻电元信息
String getNetworkCountryIso()
网络运营商的国家码MCC
String getNetworkOperator()
网络注冊运营商的MCC+MNC码
String getNetworkOperatorName()
网络运营商的名称
String getNetworkType()
网络类型
String getPhoneType()
手机类型
String getSimCountryIso()
ISO提供的国家代码
String getSimOperator()
获取SIM卡5位或6位移动国家码MCC+移动网络码MNC
String getSimOperatorName()
得到服务提供商的名称
String getSimSerialNumber()
得到sim串口号
String getSimState()
得到sim卡的状态
String getSubscriberId()
唯一用户标识ID。
代表用户的身份,比如GSM手机的IMSI号
String getVoiceMailAlphaTag()
得到与语音信箱号码有关的字母标识符,须要权限READ_PHONE_STATE;
String getVoiceMailNumber()
得到语音信箱的号码
boolean hasIccCard()
是否含有ICC卡
boolean isNetworkRoaming()
是否漫游
void listen(PhoneStateListenter,int)
注冊一个监听器,当指定的手机状态改变时,接收该手机发出的通知
Android中的Telephony学习笔记(2)的更多相关文章
- 我的Android进阶之旅------>Android中编解码学习笔记
编解码学习笔记(一):基本概念 媒体业务是网络的主要业务之间.尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析.应用开发.释放license收费等等 ...
- android中的AIDL学习笔记
一.定义 AIDL是用来解决进程间通信的(一般有四种方式:Activity.Service.ContentProvider.Broadcast Receiver),两个进程间无法直接通信,所以要用AI ...
- android中读取通讯录学习笔记
1.读取通讯录时一次读取时,尽量少读取全部属性.特别是列表展示的时候.会让你的列表载入速度变得难以忍受,建议先载入少量属性.然后在详情的时候载入全部属性. 2.在读取一类属性的时候,建议用一个游标,且 ...
- Android(java)学习笔记167:Java中操作文件的类介绍(File + IO流)
1.File类:对硬盘上的文件和目录进行操作的类. File类是文件和目录路径名抽象表现形式 构造函数: 1) File(String pathname) Creat ...
- Android(java)学习笔记110:Java中操作文件的类介绍(File + IO流)
1.File类:对硬盘上的文件和目录进行操作的类. File类是文件和目录路径名抽象表现形式 构造函数: 1) File(String pathname) Creat ...
- Android自动化测试之Monkeyrunner学习笔记(一)
Android自动化测试之Monkeyrunner学习笔记(一) 因项目需要,开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括Monkey.Monkeyr ...
- Android(java)学习笔记267:Android线程池形态
1. 线程池简介 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力. 假设一个服务器完成一项任务所需时间为:T1 创建线程时间, ...
- Android(java)学习笔记207:开源项目使用之gif view
1. 由于android没有自带的gif动画,我在Android(java)学习笔记198:Android下的帧动画(Drawable Animation) 播客中提到可以使用AnimationVie ...
- Android(java)学习笔记71:生产者和消费者之等待唤醒机制
1. 首先我们根据梳理我们之前Android(java)学习笔记70中关于生产者和消费者程序思路: 2. 下面我们就要重点介绍这个等待唤醒机制: (1)第一步:还是先通过代码体现出等待唤醒机制 pac ...
随机推荐
- linux 相关知识
在mac 终端中可以直接访问ssh 命令:ssh root@127.0.0.* 批量删除文件: 当前目录下所有 *.html文件,除了index.html [root@whr ...
- 谈谈Python中元类Metaclass(二):ORM实践
什么是ORM? ORM的英文全称是“Object Relational Mapping”,即对象-关系映射,从字面上直接理解,就是把“关系”给“对象”化. 对应到数据库,我们知道关系数据库(例如Mys ...
- Uva 10590 Boxes of Chocolates Again
题面戳这里 dp的姿势有两种(都保证了拆分的有序): \(f_{i,j}\)表示拆分中最大数为\(j\),和为\(i\)的方案数.转移\[f_{i,j} = \sum_{k = 1}^j f_{i-j ...
- oracle存储过程、声明变量、for循环
oracle存储过程.声明变量.for循环 1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out t ...
- make gif pic
http://www.cockos.com/licecap/ licecap 1.open licecap 2.record ,make a pic filename,like pic1 3.work ...
- TCP面试题之为什么会有TIME_WAIT状态
1.确保有足够的时间让对方收到ACK包:(一来一去刚好是2MSL) 2.避免新旧连接混淆 MSL(最大报文段的生成时间)在RFC793中规定hi2分钟,实际应用是30秒,1分钟,2分钟等:
- Date()和new Date()区别
当任意一个普通函数用于创建一类对象时,它就被称作构造函数,或构造器. new操作符来调用一个构造函数时,创建一个空对象obj, 将这个空对象的__proto__成员指向了构造函数对象的prototyp ...
- 【21】vuex 与element iu表单校验
转:http://www.cnblogs.com/gsgs/p/6753682.html element-ui的官网上写的自定义表单验证,方法都是写在单vue文件中的,不容易共享.怎么使用vuex将方 ...
- PE笔记之DOS头
IMAGE_DOS_HEADER STRUCT { +0h WORD e_magic // Magic DOS signature MZ(4Dh 5Ah) DOS可执行文件标记 +2h ...
- MySql视图笔记(转载)
1. 视图的定义 视图就是从一个或多个表中,导出来的表,是一个虚拟存在的表.视图就像一个窗口(数据展示的窗口),通过这个窗口,可以看到系统专门提供的数据(也可以查看到数据表的全部数据),使 ...