以编程方式自动接听来电Android

时间:2016-06-23 09:59:38

标签: android call

我正在使用此代码:

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

此代码需要折旧的Modify_Phone_State权限。 自动接听来电的其他方法吗?

1 个答案:

答案 0 :(得分:0)

默认情况下不允许这样做,因为MODIFY_PHONE_STATE权限不适用于第三方应用程序。

但是,您可以使用反射来调用未公开的电话API,但这可能会导致意外行为,因为这些API随每个Android版本而变化。

在此处查看此答案:How can incoming calls be answered programmatically in Android 5.0 (Lollipop)?