| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> 我的android12适配遇到的问题 -> 正文阅读 |
|
[移动开发]我的android12适配遇到的问题 |
1、升级项目的build.gradle的gradle插件版本,升级到版本7.2.1?2、升级所需的gradle的版本升级到7.4.2可以看我往期博客,如何配gradle的版本问题: gradle各版本下载地址_唯我独黑wang的博客-CSDN博客x 修改? ? ?3、升级android studio到最新的版本2021.2.1 Patch1?android studio的help、check for updates去检查更新即可 4、添加?android:exported的设置凡是在androidmanifest中声明了 <intent-filter> 过滤器的组件必须显式设置 android:exported 属性 所有设置了intent-filters的activity、services、broadcast、receivers都需要设置? ?在四大组件的根标签下添加 android:exported="false" 另外的是在启动的activity中将此值设为 android:exported="true" 5、将 所有的http的请求改为https(补android11留下的坑)去掉androidmanifest中application跟标签下的这2行代码: android:networkSecurityConfig="@xml/network_security_config" android:usesCleartextTraffic="true" 并去掉network_security_config这个文件 6、关于蓝牙功能的修改6.1 添加权限 android12添加了3个新的运行时权限,并根据自己的情况选择加的权限。
6.2 动态申请权限
6.3 加 @SuppressLint("MissingPermission"),去掉错误提示 在scanDevice、getName等蓝牙的读取、连接、扫描等方法前面加注解 @SuppressLint("MissingPermission") 7、关闭备份限制?为了安全考虑,android 12的设置中需要将?android:allowBackup设置为false,或者直接删掉这一行。默认值即为false。
8、webview访问文件assets之外的文件(后期完善部分)8.1 webview访问data下的文件 设置setAllowFileAccess为true,就可以 使用file://加载文件。这是所有file协议的总开关。
8.2、setAllowContentAccess
其中 com.xxx.test_provider 为FileProvider authorities,在AndroidManifest.xml声明如下:
xml/filepaths 声明如下:
8.3、setAllowFileAccessFromFileURLs 比如:你 加载了一个http://www.xx.com/index.html ,index.html里的js 使用file://访问你设备里的文件。 不过,我在测试中,发现需要把这个 index.html先下载,然后loadUrl,index.html里的js 才能 使用file://访问你设备里的文件 当然,push 到 /data/local/tmp 里也可以加载。如:
8.4、setAllowUniversalAccessFromFileURLs 这个 和上一个功能类似。测试中发现 setAllowFileAccessFromFileURLs 或者setAllowUniversalAccessFromFileURLs 任意一个设置为true 都可以 实现3中的效果。 9、最后,检查其他SDK是否新版本检查依赖的SDK中是否有新的版本,如下图依次找到1、2、3(此处打上勾)、4,完成设置。 ?到build.gradle里找到dependencies的地方,找到下面依赖第三方SDK的地方,发现有黄色部分的,鼠标悬停在上面会提示更新,点击切换最新版就好了。(此时我已全部更新完,没有实际演示了) 以上就是我的应用适配android 12的思路,很多的功能都没有用到,所以相对简单一些。 |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 3:07:37- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |