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

做移动网站建设品牌推广服务

做移动网站建设,品牌推广服务,bot方式建设网站,国家网站建设的相关规定版本:Android 11及以上,gradle 7.0以上,Android SDK > 29 获取存储权限 获取存储权限参考:Android 11 外部存储权限适配指南及方案,这篇文章直接翻到最下面,用XXPermissions框架。它漏了这个框架的使用方…

版本:Android 11及以上,gradle 7.0以上,Android SDK > 29

获取存储权限

获取存储权限参考:Android 11 外部存储权限适配指南及方案,这篇文章直接翻到最下面,用XXPermissions框架。它漏了这个框架的使用方式,使用方式参考https://github.com/getActivity/XXPermissions。

在任意能够执行的地方添加以下代码:

XXPermissions.with(this)// 不适配 Android 11 可以这样写//.permission(Permission.Group.STORAGE)// 适配 Android 11 需要这样写,这里无需再写 Permission.Group.STORAGE.permission(Permission.MANAGE_EXTERNAL_STORAGE).request(new OnPermissionCallback() {@Overridepublic void onGranted(List<String> permissions, boolean all) {if (all) {Toast.makeText(MainActivity.this, "获取存储权限成功", Toast.LENGTH_SHORT).show();}}@Overridepublic void onDenied(List<String> permissions, boolean never) {if (never) {Toast.makeText(MainActivity.this, "永久获取存储权限失败", Toast.LENGTH_SHORT).show();// 如果是被永久拒绝就跳转到应用权限系统设置页面XXPermissions.startPermissionActivity(MainActivity.this, permissions);} else {Toast.makeText(MainActivity.this, "获取存储权限失败", Toast.LENGTH_SHORT).show();}}});

它的import内容是:

import com.hjq.permissions.OnPermissionCallback;
import com.hjq.permissions.Permission;
import com.hjq.permissions.XXPermissions;
import com.hjq.permissions.PermissionFragment;

然后根据github的README的“集成步骤”,引入库:

  • settings.gradle 文件中加入
dependencyResolutionManagement {repositories {// JitPack 远程仓库:https://jitpack.iomaven { url 'https://jitpack.io' }}
}
  • 配置完远程仓库后,在项目 app 模块下的 build.gradle 文件中加入远程依赖
android {// 支持 JDK 1.8 及以上compileOptions {targetCompatibility JavaVersion.VERSION_1_8sourceCompatibility JavaVersion.VERSION_1_8}
}dependencies {// 权限请求框架:https://github.com/getActivity/XXPermissionsimplementation 'com.github.getActivity:XXPermissions:18.6'
}
  • 再添加android:requestLegacyExternalStorage="true" 属性:当项目的 targetSdkVersion >= 29 时,需要在清单文件中注册 android:requestLegacyExternalStorage="true" 属性,否则框架会抛出异常,如果不加会导致一个问题,明明已经获取到存储权限,但是无法在 Android 10 的设备上面正常读写外部存储上的文件。

创建、存储文件

首先是需要知道应该保存到哪里,
查路径的API参考文章Android 保存文件路径方法,

然后是需要创建目录和文件,并存储。
存储的过程参考文章保存File文件到本地,

例如存储到外部路径的代码:

  String createDir(String dirName) {// 在sd卡根目录创建一个文件夹String absolutePath = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + dirName;File dir = new File(absolutePath);if (!dir.exists()) {dir.mkdirs();println("Directory created: " + absolutePath);// check dir existsif (dir.exists()) {println("Directory exists: " + absolutePath);}return absolutePath;}println("Directory already exists: " + absolutePath);return absolutePath;}void saveIndex(String dirpath, int bgIndex){// save indexPrintWriter indexOutput = createWriter(dirpath + File.separator + indexName);indexOutput.print(bgIndex);indexOutput.flush();indexOutput.close();println("saveIndex: " + bgIndex);}void func(){// 功能示例String dirpath = createDir("drawings");saveIndex(dirpath, 1);}

需要引入的头文件:

import java.io.File;
import java.io.PrintWriter;
import android.os.Environment;

补充一点,如果要查找asserts下的文件是否存在,可以参考这篇文章:【代码】Android|判断asserts下的文件存在与否,以及普通文件存在与否。

http://www.ds6.com.cn/news/54115.html

相关文章:

  • jsp网站开发环境郑州seo建站
  • 网站用什么好专业整站优化
  • 石龙镇仿做网站上海网络seo优化公司
  • 网站是怎么做优化网络营销课程心得体会
  • 武汉电子商务网站建设商丘关键词优化推广
  • 四川鼎能建设集团网站sem优化怎么做
  • 东莞设计网站建设方案北京seo优化wyhseo
  • 购物网站页面布局百度指数疫情
  • 宁波公司做网站贵阳seo网站管理
  • 受欢迎的句容网站建设寻找客户资源的网站
  • 旅游网站首页图片全球搜怎么样
  • 门户网站开展集约化建设的情况目前疫情最新情况
  • 能够做外贸的网站有哪些永久免费客服系统软件
  • 琼海网站建设公司网站上做推广
  • 免费建站软件开发工程师
  • 网站建设开发教程劳动局免费培训电工
  • 校园网站建设规划书怎么样做网站推广
  • 免费可信网站认证免费ip地址代理
  • 淄博桓台学校网站建设哪家好2022最好的百度seo
  • 广西网站建设公司网站维护主要做什么
  • 注册公司后才可以做独立网站吗有效获客的六大渠道
  • 视频网站如何做seoseo行业网
  • 品牌网站制作产品推广策划方案
  • 最好科技上海网站建设广告策划公司
  • 兰州市委网站公司网站建设费
  • 网站开发加盟商怎么做青岛seo排名扣费
  • 网站开发工具链接服务器网络营销方案3000字
  • 邢台度网网站建设友情链接格式
  • 北京地产网站建设营销心得体会感悟300字
  • 沈阳网站开发久宁波建站模板系统