zoukankan      html  css  js  c++  java
  • android9.0系统适配遇到的问题

    一、apk在9.0以下的系统上安装运行,没有问题。但是在9.0系统上运行会弹出一个框

      解决办法:

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

      

    二、9.0系统apk自动更新,下载下来apk后无法自动安装,安装界面一闪而逝

      解决办法:在AndroidManifest.xml加入权限,并在程序运行的时候动态申请位置来源权限

       <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>

    三、9.0系统webview加载问题

    解决方法:在AndroidManifest.xml文件中的Application标签添加android:usesCleartextTraffic="true"。

    四、需要在AndroidManifest.xml中加入以下普通权限,不然在9.0系统中通知没法显示或者直接报错。

    <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>

    五、兼容8.0以上的notification
    8.0之前比较常规,按照老方法来就行。8.0以后必须要创建并设置NotificationChannel
  • 相关阅读:
    PEP8 Python 编码规范整理
    github操作
    重零开始,写一个股票交易项目(1)
    矢量地图质量检查现状与需求(2篇)
    导航数据质量评价相关
    测绘数据国内外现状概述
    机器的反叛-机器的智能会超越人类吗?
    标签要素调用CSS样式优先级说明
    内存碎片概念及主要避免方式
    关于年终述职总结
  • 原文地址:https://www.cnblogs.com/tony-yang-flutter/p/10607508.html
Copyright © 2011-2022 走看看