Android 9.0 因反射出现弹窗


//android 9 禁用 api 反射之后,会弹出提示窗口, 此方法禁用此窗口
 public static void closeAndroidPDialog() {
    if (Build.VERSION.SDK_INT <= 27) {
        return;
    }
    try {
        Class<?> aClass = Class.forName("android.content.pm.PackageParser$Package");
        Constructor<?> declaredConstructor = aClass.getDeclaredConstructor(String.class);
        declaredConstructor.setAccessible(true);
    } catch (Exception e) {
        e.printStackTrace();
    }
    try {
        Class<?> cls = Class.forName("android.app.ActivityThread");
        Method declaredMethod = cls.getDeclaredMethod("currentActivityThread");
        declaredMethod.setAccessible(true);
        Object activityThread = declaredMethod.invoke(null);
        Field mHiddenApiWarningShown = cls.getDeclaredField("mHiddenApiWarningShown");
        mHiddenApiWarningShown.setAccessible(true);
        mHiddenApiWarningShown.setBoolean(activityThread, true);
    } catch (Exception e) {
        e.printStackTrace();
    }
}