简体   繁体   English

通过编程方式自动接听来电Android

[英]Auto Answer Incoming call Android programmatically

I am using this code: 我正在使用此代码:

        try {
            TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
            Class<?> c = Class.forName(tm.getClass().getName());
            Method m = c.getDeclaredMethod("getITelephony");
            m.setAccessible(true);
            com.android.internal.telephony.ITelephony telephonyService = (ITelephony) m.invoke(tm);
            telephonyService = (ITelephony) m.invoke(tm);

            // telephonyService.silenceRinger();
            telephonyService.answerRingingCall();
        } catch (Exception e) {
            e.printStackTrace();
        }

This code needs Modify_Phone_State permission which is depreciated. 此代码需要Modify_Phone_State权限(已弃用)。 Any alternative way to auto answer the incoming calls? 自动应答来电的任何其他方法?

This is not allowed by default as the MODIFY_PHONE_STATE permissions is not for 3rd party applications. 默认情况下不允许这样做,因为MODIFY_PHONE_STATE权限不适用于第三方应用程序。

However, you can use reflection to invoke telephony APIs that are not exposed, but this can lead to unexpected behaviours as these APIs are subject to change with each Android release. 但是,您可以使用反射来调用未公开的电话API,但这会导致意外行为,因为这些API在每个Android版本中都会发生变化。

Check this answer here: How can incoming calls be answered programmatically in Android 5.0 (Lollipop)? 在此处检查以下答案: 如何在Android 5.0(Lollipop)中以编程方式接听来电?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM