Android下使用TelephonyManager类获取设备电话相关信息

69 篇文章 0 订阅

其实这篇文章只是对TelephonyManager类的方法进行信息打印,方便以后使用时作为参考。

TelephonyManager类相关方法调用结果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
01 -02 13 : 18 : 22.663 : I / System. out ( 3121 ) : type name :mobile
01 -02 13 : 18 : 22.663 : I / System. out ( 3121 ) : imei : 355302043036046
01 -02 13 : 18 : 22.663 : I / System. out ( 3121 ) : data_activity :NONE
01 -02 13 : 18 : 22.663 : I / System. out ( 3121 ) : call_state :IDLE
01 -02 13 : 18 : 22.663 : I / System. out ( 3121 ) : dsoft_version :00
01 -02 13 : 18 : 22.663 : I / System. out ( 3121 ) : phone number :
01 -02 13 : 18 : 22.663 : I / System. out ( 3121 ) : netwok_country_iso :cn
01 -02 13 : 18 : 22.663 : I / System. out ( 3121 ) : network_operator : 46000
01 -02 13 : 18 : 22.663 : I / System. out ( 3121 ) : network_operator_name :CMCC
01 -02 13 : 18 : 22.663 : I / System. out ( 3121 ) : netwok_type :EDGE
01 -02 13 : 18 : 22.663 : I / System. out ( 3121 ) : phone_type :GSM
01 -02 13 : 18 : 22.663 : I / System. out ( 3121 ) : sim_country_iso :cn
01 -02 13 : 18 : 22.663 : I / System. out ( 3121 ) : sim_operator : 46000
01 -02 13 : 18 : 22.663 : I / System. out ( 3121 ) : sim_operator_name :
01 -02 13 : 18 : 22.663 : I / System. out ( 3121 ) : sim_serial_number : 89860071190940153510
01 -02 13 : 18 : 22.663 : I / System. out ( 3121 ) : sim_state :READY
01 -02 13 : 18 : 22.663 : I / System. out ( 3121 ) : subscriber_id : 460003250467089
01 -02 13 : 18 : 22.663 : I / System. out ( 3121 ) : Voice_Mail_Alpha_Tag :语音信箱
01 -02 13 : 18 : 22.663 : I / System. out ( 3121 ) : Voice_Mail_Number : null
01 -02 13 : 18 : 22.663 : I / System. out ( 3121 ) : cell_location : [ 10144, 3843, - 1 ]
01 -02 13 : 18 : 22.663 : I / System. out ( 3121 ) : NeighboringCellInfo : [cell id : 3813,Rssi : 10 ] [cell id : 3653,Rssi : 11 ] [cell id : 3842,Rssi : 10 ] [cell id : 3812,Rssi : 5 ] [cell id : 3832,Rssi : 6 ]

调用代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
public static String getNetworkType ( Context cx ) {
        ConnectivityManager cm = (ConnectivityManager )cx. getSystemService ( Context. CONNECTIVITY_SERVICE ) ; //获取系统的连接服务
        NetworkInfo info = cm. getActiveNetworkInfo ( ) ;
//      if(null != info) {
//          if(info.getType() == ConnectivityManager.TYPE_WIFI) {
//              return "wifi";
//          } else {
                TelephonyManager tm = (TelephonyManager ) cx. getSystemService ( Context. TELEPHONY_SERVICE ) ;
               
                StringBuilder sb = new StringBuilder ( ) ;
                sb. append ( "type name:" + (info != null ?info. getTypeName ( ) : null ) + "\n" ) ;
                sb. append ( "imei:" + tm. getDeviceId ( ) + "\n" ) ;
                sb. append ( "data_activity:" + DATA_ACTIVITY. get (tm. getDataActivity ( ), VALUE_UNKNOWN ) + "\n" ) ;
                sb. append ( "call_state:" + CALL_STATE. get (tm. getCallState ( ), VALUE_UNKNOWN ) + "\n" ) ;
                sb. append ( "dsoft_version:" + tm. getDeviceSoftwareVersion ( ) + "\n" ) ;
                sb. append ( "phone number:" + tm. getLine1Number ( ) + "\n" ) ;
                sb. append ( "netwok_country_iso:" + tm. getNetworkCountryIso ( ) + "\n" ) ;
                sb. append ( "network_operator:" + tm. getNetworkOperator ( ) + "\n" ) ;
                sb. append ( "network_operator_name:" + tm. getNetworkOperatorName ( ) + "\n" ) ;
                sb. append ( "netwok_type:" + NETWORK_TYPE. get (tm. getNetworkType ( ),VALUE_UNKNOWN ) + "\n" ) ;
                sb. append ( "phone_type:" + PHONE_TYPE. get (tm. getPhoneType ( ), VALUE_UNKNOWN ) + "\n" ) ;
                sb. append ( "sim_country_iso:" + tm. getSimCountryIso ( ) + "\n" ) ;
                sb. append ( "sim_operator:" + tm. getSimOperator ( ) + "\n" ) ;
                sb. append ( "sim_operator_name:" + tm. getSimOperatorName ( ) + "\n" ) ;
                sb. append ( "sim_serial_number:" + tm. getSimSerialNumber ( ) + "\n" ) ;
                sb. append ( "sim_state:" + SIM_TYPE. get (tm. getSimState ( ), VALUE_UNKNOWN ) + "\n" ) ;
                sb. append ( "subscriber_id:" + tm. getSubscriberId ( ) + "\n" ) ;
                sb. append ( "Voice_Mail_Alpha_Tag:" + tm. getVoiceMailAlphaTag ( ) + "\n" ) ;
                sb. append ( "Voice_Mail_Number:" + tm. getVoiceMailNumber ( ) + "\n" ) ;
                sb. append ( "cell_location:" + tm. getCellLocation ( ) + "\n" ) ;
               
                List <neighboringcellinfo > infos = tm. getNeighboringCellInfo ( ) ;
                String str = "" ;
                if ( null != infos ) {
                    for (NeighboringCellInfo i : infos ) {
                        str += "[cell id:" + i. getCid ( ) + ",Rssi:" + i. getRssi ( ) + "]" ;
                    }
                }
                sb. append ( "NeighboringCellInfo:" + str + "\n" ) ;
               
                return sb. toString ( ) ;
//          }
        }
//      return null;
    }
   
    private static final String VALUE_UNKNOWN = "VALUE_UNKNOWN" ;
   
    private static final SparseArray <string > DATA_ACTIVITY = new SparseArray <string > ( 5 ) ;
    private static final SparseArray <string > CALL_STATE = new SparseArray <string > ( 3 ) ;
    private static final SparseArray <string > NETWORK_TYPE = new SparseArray <string > ( 16 ) ;
    private static final SparseArray <string > PHONE_TYPE = new SparseArray <string > ( 3 ) ;
    private static final SparseArray <string > SIM_TYPE = new SparseArray <string > ( 6 ) ;
   
    static {
        //电话状态
        CALL_STATE. append (TelephonyManager. CALL_STATE_IDLE, "IDLE" ) ;
        CALL_STATE. append (TelephonyManager. CALL_STATE_OFFHOOK, "OFFHOOK" ) ;
        CALL_STATE. append (TelephonyManager. CALL_STATE_RINGING, "RINGING" ) ;
       
        //数据活动状态
        DATA_ACTIVITY. append (TelephonyManager. DATA_ACTIVITY_NONE, "NONE" ) ;
        DATA_ACTIVITY. append (TelephonyManager. DATA_ACTIVITY_IN, "IN" ) ;
        DATA_ACTIVITY. append (TelephonyManager. DATA_ACTIVITY_OUT, "OUT" ) ;
        DATA_ACTIVITY. append (TelephonyManager. DATA_ACTIVITY_INOUT, "INOUT" ) ;
        DATA_ACTIVITY. append (TelephonyManager. DATA_ACTIVITY_DORMANT, "DORMANT" ) ;
       
        //网络类型
        NETWORK_TYPE. append (TelephonyManager. NETWORK_TYPE_UNKNOWN, "UNKNOWN" ) ;
        NETWORK_TYPE. append (TelephonyManager. NETWORK_TYPE_GPRS, "GPRS" ) ;
        NETWORK_TYPE. append (TelephonyManager. NETWORK_TYPE_EDGE, "EDGE" ) ;
        NETWORK_TYPE. append (TelephonyManager. NETWORK_TYPE_UMTS, "UMTS" ) ;
        //API 5
//      NETWORK_TYPE.append(TelephonyManager.NETWORK_TYPE_HSDPA, "HSDPA");
//      NETWORK_TYPE.append(TelephonyManager.NETWORK_TYPE_HSUPA, "HSUPA");
//      NETWORK_TYPE.append(TelephonyManager.NETWORK_TYPE_HSPA, "HSPA");
//      NETWORK_TYPE.append(TelephonyManager.NETWORK_TYPE_HSPAP, "HSPAP");
        NETWORK_TYPE. append (TelephonyManager. NETWORK_TYPE_CDMA, "CDMA" ) ;
        NETWORK_TYPE. append (TelephonyManager. NETWORK_TYPE_EVDO_0, "EVDO_0" ) ;
        NETWORK_TYPE. append (TelephonyManager. NETWORK_TYPE_EVDO_A, "EVDO_A" ) ;
        //API 9
//      NETWORK_TYPE.append(TelephonyManager.NETWORK_TYPE_EVDO_B, "EVDO_B");
        NETWORK_TYPE. append (TelephonyManager. NETWORK_TYPE_1xRTT, "1xRTT" ) ;
        //API 8
//      NETWORK_TYPE.append(TelephonyManager.NETWORK_TYPE_IDEN, "IDEN");
        //API 11
//      NETWORK_TYPE.append(TelephonyManager.NETWORK_TYPE_LTE, "LTE");
//      NETWORK_TYPE.append(TelephonyManager.NETWORK_TYPE_EHRPD, "EHRPD");
       
        //电话状态
        PHONE_TYPE. append (TelephonyManager. PHONE_TYPE_NONE, "NONE" ) ;
        PHONE_TYPE. append (TelephonyManager. PHONE_TYPE_GSM, "GSM" ) ;
        PHONE_TYPE. append (TelephonyManager. PHONE_TYPE_CDMA, "CDMA" ) ;
       
        //SIM状态
        SIM_TYPE. append (TelephonyManager. SIM_STATE_UNKNOWN, "UNKNOWN" ) ;
        SIM_TYPE. append (TelephonyManager. SIM_STATE_ABSENT, "ABSENT" ) ;
        SIM_TYPE. append (TelephonyManager. SIM_STATE_PIN_REQUIRED, "PIN_REQUIRED" ) ;
        SIM_TYPE. append (TelephonyManager. SIM_STATE_PUK_REQUIRED, "PUK_REQUIRED" ) ;
        SIM_TYPE. append (TelephonyManager. SIM_STATE_NETWORK_LOCKED, "NETWORK_LOCKED" ) ;
        SIM_TYPE. append (TelephonyManager. SIM_STATE_READY, "READY" ) ;
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值