当前位置: 首页 > news >正文

做打井宣传广告找什么网站外链吧官网

做打井宣传广告找什么网站,外链吧官网,WordPress谷歌字体会慢,建设银行客户端官方网站一、Bug简述 一个很普通的需求,需要下载图片到本地,我的三个测试机(荣耀Android10,红米 11 和小米Android 13都没有问题)。 然后,主角登场了,测试的三星Android 13 死活拉不起存储权限弹窗。 …

一、Bug简述

一个很普通的需求,需要下载图片到本地,我的三个测试机(荣耀Android10,红米 11 和小米Android 13都没有问题)。

然后,主角登场了,测试的三星Android 13 死活拉不起存储权限弹窗。

想了下,三星的系统可能和小米的系统做了些区别。于是就是看了下存储权限的版本更迭,却是发现了些骚东西。

二、原因

很早以前,一直都是在manifest申明这两个权限就可以了,但是现在会有下面的警告!

这便是错误的原因:

 可以得知,在Android 13(sdkversion为33)的系统中,已经被废弃了!!!

但是如果你给Write和Read权限加上maxSdkVersion=32,他在11,12上是没有问题的,但是最新的App要求 target sdkversion必须是33了。

所以,在此就必须做一个适配:

Android 11 里将引入一个特别的权限叫做 MANAGE_EXTERNAL_STORAGE,该权限将授权读写所有共享存储内容,这也将同时包含非媒体类型的文件。但是获得这个权限的应用还是无法访问其他应用的应用专属目录 (app-specific directory),无论是外部存储还是内部存储。

那么,为了兼容Android版本,我就必须在Android11之前和之后分开做申请才会有用。

三、步骤

1).申明权限

manifest文件里:

<uses-permissionandroid:name="android.permission.MANAGE_EXTERNAL_STORAGE"tools:ignore="ScopedStorage" />

2).权限的判断

判断是否已经获得权限:

 private fun checkPer(activity: PreViewActivity): Boolean {return if (Build.VERSION.SDK_INT >= 30) {EasyPermissions.hasPermissions(activity,android.Manifest.permission.MANAGE_EXTERNAL_STORAGE)} else {EasyPermissions.hasPermissions(activity,android.Manifest.permission.WRITE_EXTERNAL_STORAGE)}}

未获得权限,申请权限

private fun aaa(activity: PreViewActivity, curImg: Int) {if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {val intent = Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION)intent.data = Uri.parse("package:" + activity.packageName)activity.startActivityForResult(intent, 200)} else {val perm = android.Manifest.permission.WRITE_EXTERNAL_STORAGEPaperThreeVariable.isToRequestPer = trueEasyPermissions.requestPermissions(PermissionRequest.Builder(activity,200,perm).build())}}

权限申请回调

    override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<String>, grantResults: IntArray) {super.onRequestPermissionsResult(requestCode, permissions, grantResults)EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this)}override fun onPermissionsGranted(requestCode: Int, perms: MutableList<String>) {AppInitUtils().saveFreshAppImageToGallery(this, curImg)PaperThreeVariable.isToRequestPer = false}override fun onPermissionsDenied(requestCode: Int, perms: MutableList<String>) {PaperThreeVariable.isToRequestPer = falseif (EasyPermissions.somePermissionPermanentlyDenied(this, perms)) {AppSettingsDialog.Builder(this).setRationale("This function requires storage permission to be enabled").setNegativeButton("No").setPositiveButton("Yes").build().show()}}

因为有时候用户会拒绝权限且永久弹窗,所以为了方便我就用了EasyPermission这个库,拒绝的情况下,弹窗跳转系统权限设置页面去让用户选择开启权限。

这样,就OK啦!(至于我的小米为啥Android 13也能正常拉起,我也不知道具体原因,但是在Android Studio的历史链接设备中,我发现它识别我的手机系统为Android 12,真是百思不得其解)

本文参考了郭霖大神的一篇文章,当时是想看下 Scoped Storage这个属性的内容,接过发现了Android 11的变更。

Android 11新特性,Scoped Storage又有了新花样

仅做个人工作总结,内容肯定不够全面,如有问题,欢迎大佬指正!

Android Permission 权限申请,EasyPermission和其他三方库_安卓权限申请_&岁月不待人&的博客-CSDN博客

补充:

因为 MANAGE_EXTERNAL_STORAGE,该权限将授权读写所有共享存储内容,所以在谷歌中属于敏感权限,不容易通过,如果只是想保存图片,则可以通过下面的博客中的方法去保存

Android 保存图片并刷新相册(无需权限)-CSDN博客

Android Gilde获取网络图片显示保存路径并转化为bitmap-CSDN博客

http://www.laogonggong.com/news/29903.html

相关文章:

  • 大连模板网站制作上海网站推广系统
  • 城市分站seo网站怎么被百度收录
  • 怎么做帖子网站seo搜索引擎优化排名哪家更专业
  • 上海广告网站建设seo推广哪家公司好
  • wordpress 仿站 主题西安霸屏推广
  • 毕业设计做健身房网站的意义2022年最新十条新闻
  • 网站建设经典案例关键词歌词表达的意思
  • 如何建立一个网站并维护如何创建网站平台
  • 可以做游戏的网站有哪些如何做网络推广推广
  • 美国主机教育网站建设百度网站优化软件
  • 营销型网站的优势海外推广服务
  • 合肥企业模板建站产品软文范例1000字
  • 域名到期换个公司做网站谷歌seo推广
  • 网站漏洞怎么修复网站流量统计
  • 如何做网站 百度经验网络营销岗位技能
  • 做设计赚钱的网站刚刚刚刚刚刚刚刚刚刚刚刚刚刚
  • 政府门户网站建设的重点网站上做推广
  • 德保网站建设网络推广的公司更可靠
  • 96个html静态网站模板打包郑州网站建设方案
  • 唐山建设招聘信息网站北京网站优化平台
  • JAVA网站开发ssm深圳seo优化服务
  • seo整站如何优化关键词优化推广公司排名
  • 公司注册代理代办公司时空seo助手
  • 做铜字接单网站软文营销模板
  • 合肥seo网站建设费用百度一下首页登录入口
  • 网站界面排版好看动态网站的制作与设计
  • 个人做网站备案多少钱网页设计制作网站代码
  • 用帝国做的网站只收录首页百度app客服人工在线咨询
  • 做白酒的网站免费seo
  • vs中可以用新建项目来做网站吗快优吧seo优化