我尝试拒绝来电,但此代码:

    private void ignoreCallAidl(Context context)
{
        try
        {
                tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
                Class c = Class.forName(tm.getClass().getName());
                Method m = c.getDeclaredMethod("getITelephony");
                m.setAccessible(true);
                telephonyService = (ITelephony)m.invoke(tm);
                telephonyService.silenceRinger();
                telephonyService.endCall();

        }
        catch (Exception e)
        {
                e.printStackTrace();
                Log.e("App","FATAL ERROR: could not connect to telephony subsystem");
                Log.e("App","Exception object: "+e);
        }
}

但我有个错误:
异常对象:java.lang.ClassCastException:com.android.internal.telephony.itelephony$stub$proxy

最佳答案

我也有同样的问题,但我已经解决了。
这是因为你已经将iTelephone从ITelephony.aidl中提前了出来。你必须在proguard.cfg文件中过滤它。

07-26 09:36