Android设备挂断电话·笔记

            **Android挂断电话**
在项目中有一个功能,需要限时挂断电话,所以需要Android设备自动挂断电话。
需要两个 fromwork层的AIDL文件,如图:
![项目结构目录](https://img-blog.csdn.net/20170430231003730?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1eXVfNjU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

图片中文件的位置和路径必须一致。

 public static ITelephony getITelephony(TelephonyManager telephonyManager)
    {
//        mMTelephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
        //TelephonyManager mTelephonyManager = (TelephonyManager)Context.getSystemService(Context.TELEPHONY_SERVICE);
        Class<TelephonyManager> c = TelephonyManager.class;
        Method getITelephonyMethod = null;
        Log.d("aaa", "getITelephony: ");
        try
        {
            getITelephonyMethod = c.getDeclaredMethod("getITelephony",(Class[]) null); // 获取声明的方法
            getITelephonyMethod.setAccessible(true);
        } catch (SecurityException e) {
            e.printStackTrace();
        } catch (NoSuchMethodException e) {
            e.printStackTrace();
        }

        ITelephony iTelephony=null;
        try {
            iTelephony = (ITelephony) getITelephonyMethod.invoke(telephonyManager, (Object[]) null); // 获取实例
            return iTelephony;
        } catch (Exception e) {
            e.printStackTrace();
            Log.d("aaa", "getITelephony:===null ");
        }
        return iTelephony;
    }

最后直接调用mITelephony.endCall();

由于项目中还涉及到自动接听电话,目前知道的接听方法有:
1.通过发送广播使设备接电话.
2.通过串口发送指令(DTMF).
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值