用反射区解决,附上代码
import android.os.Build;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
DisableAPIDialog();
}
/**
* 反射 禁止弹窗
*/
private void DisableAPIDialog() {
if (Build.VERSION.SDK_INT < 28) return;
try {
Class clazz = Class.forName("android.app.ActivityThread");
Method currentActivityThread = clazz.getDeclaredMethod("currentActivityThread");
currentActivityThread.setAccessible(true);
Object activityThread = currentActivityThread.invoke(null);
Field mHiddenApiWarningShown = clazz.getDeclaredField("mHiddenApiWarningShown");
mHiddenApiWarningShown.setAccessible(true);
mHiddenApiWarningShown.setBoolean(activityThread, true);
} catch (Exception e) {
e.printStackTrace();
}
}
}