用反射区解决,附上代码

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();
		}
	}
}
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐