本文主要是介绍Android弹窗Detected problems with API compatibility(visit g.co/dev/appcompat for more info),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
出现该弹窗的原因是Android P禁止了非官方API的调用,如果你用了一些别的sdk接口,就会有这样的弹窗问题。
解决方法是,通过反射在不让系统弹出这个窗口:
//application.java
private void closeAndroidPDialog(){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();}}
这篇关于Android弹窗Detected problems with API compatibility(visit g.co/dev/appcompat for more info)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!