安卓学习日记——TelephonyManager

  • 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" />

使用虚拟机测试效果
安卓学习日记——TelephonyManager

电话服务的监听器

 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);

效果如下
安卓学习日记——TelephonyManager
安卓学习日记——TelephonyManager
安卓学习日记——TelephonyManager
安卓学习日记——TelephonyManager
安卓学习日记——TelephonyManager