安卓学习日记——TelephonyManager

本文详细介绍了TelephonyManager类的功能及用法,包括如何通过该类访问电话服务信息、设备信息和用户信息等,并展示了如何注册监听器以获取电话状态的变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • TelephonyManager简介
    TelephonyManager类提供了对设备上的电话服务信息的访问。应用程序可以使用这个类中的方法来确定电话服务和状态,以及访问某些类型的用户信息。应用程序也可以注册一个侦听程序来接收通知的电话状态改变。

电话服务管理器的API方法

private void testTelephoneManager() {

        TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
        System.out.println("电话状态=" + tm.getCallState());
        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
            return;
        }
        System.out.println("唯一的设备ID=" + tm.getDeviceId());
        System.out.println("设备的软件版本号="+tm.getDeviceSoftwareVersion());
        System.out.println("手机号="+tm.getLine1Number());
        System.out.println("获取ISO标准的国家码·即国际长途区号="+tm.getNetworkCountryIso());
        System.out.println("当前使用的网络类型="+tm.getNetworkType());
        System.out.println("手机类型="+tm.getPhoneType());
        System.out.println("SIM的状态信息="+tm.getSimState());
        System.out.println("唯一的用户ID="+tm.getSubscriberId());
        System.out.println("SIM卡的序列号="+tm.getSimSerialNumber());
        System.out.println("服务商名称="+tm.getSimOperatorName());
    }

权限设置

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

使用虚拟机测试效果
在这里插入图片描述

电话服务的监听器

 private static class MyPhoneStateListener extends PhoneStateListener{
        @Override
        public void onCallStateChanged(int state, String phoneNumber) {
            super.onCallStateChanged(state, phoneNumber);
            switch (state){
                case TelephonyManager.CALL_STATE_RINGING:
                    System.out.println("正在响铃");
                    break;
                case TelephonyManager.CALL_STATE_IDLE:
                    System.out.println("挂机状态");
                    break;
                case TelephonyManager.CALL_STATE_OFFHOOK:
                    System.out.println("正在接听电话...");
                    break;
            }
        }
    }
tm.listen(new MyPhoneStateListener(),PhoneStateListener.LISTEN_CALL_STATE);

效果如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值