如何在Android 9中拒绝来电?

时间:2019-05-15 14:49:59

标签: java android android-9.0-pie

无法拒绝android 9中的来电。 我正在尝试以编程方式拒绝来电。以下代码适用于Android 8,但不适用于Android9。

权限:

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_CALL_LOG" />
<uses-permission android:name="android.permission.ANSWER_PHONE_CALLS" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE"
    tools:ignore="ProtectedPermissions" />

代码:

     TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);

            Method m1 = null;
            try {
                m1 = tm.getClass().getDeclaredMethod("getITelephony");
            } catch (NoSuchMethodException e) {
                e.printStackTrace();
            }
            m1.setAccessible(true);
            Object iTelephony = null;
            try {
                iTelephony = m1.invoke(tm);
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            } catch (InvocationTargetException e) {
                e.printStackTrace();
            }

            Method m2 = null;
            Method m3 = null;
            try {
                m2 = iTelephony.getClass().getDeclaredMethod("silenceRinger");
                m3 = iTelephony.getClass().getDeclaredMethod("endCall");
            } catch (NoSuchMethodException e) {
                e.printStackTrace();
            }

            try {
                m2.invoke(iTelephony);
                m3.invoke(iTelephony);
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            } catch (InvocationTargetException e) {
                e.printStackTrace();
            }

此代码在Android 8之前的工作文件中有效,但在Android 9中则无效

0 个答案:

没有答案