必威体育Betway必威体育官网
当前位置:首页 > IT技术

Detected problems with API 弹窗 屏蔽解决方案 android

时间:2019-09-27 10:45:35来源:IT技术作者:seo实验室小编阅读:86次「手机版」
 

detected

最近项目测试MM反馈每次进入APP,会提示一个弹窗

调查测试发现是Android9.0系统上产生的,综合网上各位前被采坑的资料分享。先把亲测可用的解决方案分享给大家,希望遇到此类问题的小伙伴可以快速解决

原因分析

android p 也就是android9.0 谷歌限制开发者调用非官方公开API 方法或接口(使用@hide注解的系统源码),当开发者用反射直接调用源码时就会出现上述提示框。谷歌旨在提示开发者尽量少使用反射只用调用系统api,以免造成不必要的麻烦。但是项目中,有些功能实现要用到怎么办?即使咱们不用,依赖的第三方类库,用到怎么办?这就坑了。所以,负负得正,哈哈,咱们在使用反射怼回去,屏蔽提示。

//在app初始化时调用即可
public class MyApplication extends Application {

    public JoyApplication() {
    }

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

}

相关阅读

魔趣(Mokee)开源代码(android 7.1.2 Android8.1)同步下载

转载原文:https://blog.csdn.net/fmc088/article/details/80678955 一.下载代码使用魔趣repo镜像1.在当前用户的根

android studio 创建项目失败原因Failed to create

1.先把问题贴出来 看看有没有小伙伴一样的大意说的原因就是创建目录失败,就百度查一查 发现 没有配对的问题目录结构都是空的,其实

Android Toast类

1. 默认创建 Toast是一种简易的消息提示框,toast提示框不能被用户点击,会根据用户设置的显示时间后自动消失。Toast静态方法makeTex

【Android】自己动手做个扫雷游戏

本文链接:http://blog.csdn.net/e_one/article/details/52088983 1.  游戏规则 扫雷是玩法极其简单的小游戏,点击玩家认为不存在

android基础--ListView 详解

1.简单的ListView       在List列表中如果不存在过于复杂的东西 我们可以直接去new ArrayAdapter() 来绘制列表,无须继承Arra

分享到:

栏目导航

推荐阅读

热门阅读