您的位置:首页 > 移动开发 > Android开发

android 4.1.1~4.1.2出现解析url异常问题处理

2017-03-01 19:22 441 查看
public final class ReflectionHook {public static final String TAG = "ReflectionHook";/*** @note 4.1.1 ~ 4.1.2 中因为部分机器开启了此特性,导致在WebViewClassic.onPageFInished* @note 会进入AccessibilityInjector.onPageFinished逻辑,从而导致后续URLEncodedUtils.parse* @note 因为url参数异常而崩溃,故对此版本做此patch* @param context*/public static void hookAccessibilityManager(Context context) {if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1 &&Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN +2) {try {Class clazz = AccessibilityManager.class;Method med=clazz.getMethod("getInstance", Context.class);AccessibilityManager am = (AccessibilityManager) med.invoke(null, context);setClassField(am, "mIsEnabled", false);SimpleLog.d(TAG, "Accessibility enabled:" + am.isEnabled());} catch (Throwable e) {}}}public static void setClassField(Object object, String fieldName, Object fieldNewValue) {Class<? extends Object> type = object.getClass();Field field = null;try {field = type.getDeclaredField(fieldName);field.setAccessible(true);field.set(object, fieldNewValue);} catch (NoSuchFieldException e) {e.printStackTrace();} catch (IllegalArgumentException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}}
}
注解已经很明白了, 记录下。application中调用此方法关掉无障碍。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 异常
相关文章推荐