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

网站被做镜像什么意思网站设计公司哪家专业

网站被做镜像什么意思,网站设计公司哪家专业,长沙知名网站推广,山东seo多少钱一、Android存储简介 Android系统分为内部存储和外部存储 从Android6.0开始不断在更新存储#xff08;读写#xff09;权限#xff0c;除了在AndroidManifest.xml文件里声明#xff0c;app运行时也要动态申请使用对应的权限 提醒#xff1a;应用私有存储不需要动态申请权…一、Android存储简介 Android系统分为内部存储和外部存储 从Android6.0开始不断在更新存储读写权限除了在AndroidManifest.xml文件里声明app运行时也要动态申请使用对应的权限 提醒应用私有存储不需要动态申请权限 Context.getFileDir();获取内置存储下的文件目录可以用来保存不能公开给其他应用的一些敏感数据如用户个人信息。 路径为/data/data/应用包名/files/Context.getCacheDir();获取内置存储下的缓存目录可以用来保存一些缓存文件如图片当内置存储的空间不足时将系统自动被清除。 路径为 /data/data/应用包名/cache/ 点击查看数据和文件存储概览 二、Android系统不同版本访问存储权限 点击查看安全准则 点击查看Android中的权限 点击查看权限清单列表 2.1 Android 6.0 点击查看Android6.0 变更 uses-permission android:nameandroid.permission.WRITE_EXTERNAL_STORAGE/ uses-permission android:nameandroid.permission.READ_EXTERNAL_STORAGE/2.2 Android 7.0 点击查看Android7.0变更 2.2.1 权限更改 2.2.1.1系统权限更改 为了提高私有文件的安全性以 Android 7.0 或更高版本为目标平台的应用的私有目录限制了访问权限 (0700)。此设置可防止私有文件的元数据泄露如其大小或存在。此权限更改具有多种副作用 私有文件的文件权限不应再由所有者放宽如果尝试使用 MODE_WORLD_READABLE 和/或 MODE_WORLD_WRITEABLE 放宽文件权限将会触发 SecurityException。传递软件包网域外的 file:// URI 可能会给接收器留下无法访问的路径。因此尝试传递 file:// URI 会触发 FileUriExposedException。建议使用 FileProvider 来共享非公开文件的内容。DownloadManager 无法再按文件名分享私密存储的文件。旧版应用在访问 COLUMN_LOCAL_FILENAME 时可能最终采用无法访问的路径。以 Android 7.0 或更高版本为目标平台的应用在尝试访问 COLUMN_LOCAL_FILENAME 时会触发 SecurityException。使用 DownloadManager.Request.setDestinationInExternalFilesDir() 或 DownloadManager.Request.setDestinationInExternalPublicDir() 将下载位置设置为公开位置的旧版应用仍然可以访问 COLUMN_LOCAL_FILENAME 中的路径但我们强烈建议不要使用此方法。访问 DownloadManager 公开的文件的首选方法是使用 ContentResolver.openFileDescriptor()。 2.2.1.2在应用间共享文件 对于以 Android 7.0 为目标平台的应用Android 框架会强制执行 StrictMode API 政策该政策禁止在应用外部公开 file:// URI。如果包含文件 URI 的 intent 离开您的应用应用会失败并出现 FileUriExposedException 异常。 如需在应用之间共享文件您应发送 content:// URI 并授予对该 URI 的临时访问权限。如需授予此权限最简单的方法是使用 FileProvider 类。如需详细了解权限和共享文件请参阅共享文件。 在Android 7.0之前不需要授予临时权限直接使用以下代码 Uri.fromFile( File file ); Android 7.0 之后如果通过uri使用未被授权的其他应用的文件会报错误“FileUriExposedException 异常” Android 7.0之后就需要使生成具有临时权限uri需要借助Android FileProvider 组件Android FileProvider 组件会根据一个xml配置文件中指定的内容生成文件的内容 URI。 具体步骤 在res目录里定义xml文件然后创建一个provider.xml文件示例如下图 在AndroidManifest.xml里添加provider配置信息示例如下 provider_paths.xml文件代码 ?xml version1.0 encodingutf-8? paths xmlns:androidhttp://schemas.android.com/apk/res/androidexternal-pathnamebeta_external_pathpathDownload/ /external-pathnamebeta_external_files_pathpathAndroid/data/ /external-pathnamedownloadpath. /external-pathnamesdcard_filespathAndroid/data/com/exemple/app/images /external-files-pathnamecamera_has_sdcardpathAndroid/data/com/exemple/app/images /files-pathnamecamera_no_sdcardpathAndroid/data/com/exemple/app/other /external-pathnamefiles_rootpathAndroid/data/com/exemple/app /external-pathnameexternal_storage_rootpath. / /paths点击查看官网提供的FileProvider 点击查看provider file_paths.xml文件 paths xmlns:androidhttp://schemas.android.com/apk/res/androidfiles-path namemy_images pathimages//... /paths自定义FileProvider MyFileProvider.java代码 public class MyFileProvider extends FileProvider {public MyFileProvider() {super(R.xml.file_paths)} }manifest...application...providerandroid:namecom.sample.MyFileProviderandroid:authoritiescom.mydomain.fileproviderandroid:exportedfalseandroid:grantUriPermissionstrue.../provider.../application /manifest2.2.2 从授权的URI获取文件 使用 FileProvider生成 URI Android FileProvider 组件提供了 getUriForFile() 方法生成URI代码 FileProvider.getUriForFile(NonNull Context context, NonNull String authority,NonNull File file) {}File imagePath new File(Context.getFilesDir(), my_images); File newFile new File(imagePath, default_image.jpg); Uri contentUri getUriForFile(getContext(), com.mydomain.fileprovider, newFile); 使用示例代码 public void takePicture() { // Intent takePictureIntent new Intent(MediaStore.ACTION_IMAGE_CAPTURE);Intent takePictureIntent new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA);// 打开系统相机连续拍多张图片if (takePictureIntent.resolveActivity(getPackageManager()) ! null) {File cameraFile FileUtils.createCameraFile(this);cameraPath cameraFile.getAbsolutePath();mUri Uri.fromFile(new File(cameraPath));if (Build.VERSION.SDK_INT Build.VERSION_CODES.N) {takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, FileProvider.getUriForFile(MainActivity.this, fileprovider, cameraFile));takePictureIntent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);} else {takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, mUri);}startActivityForResult(takePictureIntent, REQUEST_CODE_TAKEPICTURES);}}2.3 Android 8.0 点击查看Android 8.0 行为变更 2.4 Android 9.0 点击查看Android9.0 行为变更 2.5 Android 10.0 点击查看Android 10 中的隐私权变更 Android 10API 级别 29引入了多项功能和行为变更以更好地保护用户隐私。这些变更让用户更清楚地了解并更好地控制其数据及为应用提供的功能。这些功能可能意味着应用所依赖的特定行为或数据的行为方式可能与旧版平台不同。如果您的应用遵循当前处理用户数据的最佳实践那么对应用的影响应该微乎其微。 2.5.1 外部存储访问权限范围限定为应用文件和媒体 默认情况下以 Android 10 及更高版本为目标平台的应用在访问外部存储空间时被分区访问即分区存储。此类应用可以查看外部存储设备中的以下类型的文件而无需请求任何与存储相关的用户权限 应用专属目录中的文件使用 getExternalFilesDir() 访问。应用创建的照片、视频和音频片段通过媒体库访问。 application中通过添加android:requestLegacyExternalStoragetrue的配置 来兼容使用低版本的存储.。 在Android11上面是无效了只能添加动态申请权限。 2.6 Android 11 点击查看Android 11 中的隐私权 点击查看Android 11 中的存储更新 2.6.1强制执行分区存储 在 Android 11 上运行但以 Android 10API 级别 29为目标平台的应用仍可请求 requestLegacyExternalStorage 属性。应用可以利用此标记暂时停用与分区存储相关的变更例如授予对不同目录和不同类型的媒体文件的访问权限。当您将应用更新为以 Android 11 为目标平台后系统会忽略 requestLegacyExternalStorage 标记。 2.6.2保持与 Android 10 的兼容性 如果应用在 Android 10 设备上运行时选择退出分区存储建议您继续在应用的清单文件中将 requestLegacyExternalStorage 设为 true。这样应用就可以在运行 Android 10 的设备上继续按预期运 2.6.3将数据迁移到使用分区存储时可见的目录 如果您的应用使用旧版存储模型且之前以 Android 10 或更低版本为目标平台您可能会将数据存储到启用分区存储模型后您的应用无法访问的目录中。在以 Android 11 为目标平台之前请将数据迁移到与分区存储兼容的目录。 2.6.4权限 Android 11 引入了与存储权限相关的以下变更。 以任何版本为目标平台 不管应用的目标 SDK 版本是什么以下变更均会在 Android 11 中生效 存储运行时权限已重命名为文件和媒体。如果您的应用未停用分区存储并且请求 READ_EXTERNAL_STORAGE 权限用户会看到不同于 Android 10 的对话框。该对话框表明您的应用正在请求访问照片和媒体如图 下图 所示。 用户可以在系统设置中查看哪些应用具有 READ_EXTERNAL_STORAGE 权限。在设置 隐私 权限管理器 文件和媒体页面上具有该权限的每个应用都列在允许存储所有文件下。如果您的应用以 Android 11 为目标平台请记住对“所有文件”的这种访问权限是只读访问权限。如需使用此应用读取和写入共享的存储空间中的所有文件需要具有所有文件访问权限。 以 Android 11 为目标平台 如果应用以 Android 11 为目标平台那么 WRITE_EXTERNAL_STORAGE 权限和 WRITE_MEDIA_STORAGE 特许权限将不再提供任何其他访问权限。 请注意在搭载 Android 10API 级别 29或更高版本的设备上您的应用可以提供明确定义的媒体集合例如 MediaStore.Downloads而无需请求任何存储相关权限。详细了解如何在处理应用中的媒体文件时仅请求必要的权限。 所有文件访问权限 绝大多数需要共享存储空间访问权限的应用都可以遵循共享媒体文件和共享非媒体文件方面的最佳做法。但是某些应用的核心用例需要广泛访问设备上的文件但无法采用注重隐私保护的存储最佳做法高效地完成这些操作。对于这些情况Android 提供了一种名为“所有文件访问权限”的特殊应用访问权限。如需了解详情请参阅有关如何管理存储设备上的所有文件的指南。 注意 如果您要将应用发布到 Google Play请仔细阅读通知。如果您的应用以 Android 11 为目标平台并声明了所有文件访问权限那么您在 Google Play 上发布和更新应用会受到影响。 2.7 Android 12 点击查看Android 12行为变更所有应用 性能 2.7.1 受限应用待机模式存储分区 Android 11API 级别 30引入了受限存储分区作为应用待机模式存储分区。从 Android 12 开始此存储分区默认处于活跃状态。在所有存储分区中受限存储分区的优先级最低限制最高。存储分区按优先级从高到低的顺序排列如下 活跃应用目前正在使用中或者最近刚刚使用过。工作集会定期使用应用。常用会经常使用应用但不是每天都使用。极少使用不经常使用应用。受限应用会消耗大量的系统资源或表现出不良行为。 除了使用模式之外系统还会考虑应用的行为以决定是否要将您的应用放在受限存储分区中。 如果您的应用更负责地使用系统资源就不太可能被放在受限存储分区中。此外如果用户直接与您的应用互动系统会将其放在一个限制较少的存储分区中。 2.7.2 检查您的应用是否在受限存储分区中 如需检查系统是否已将您的应用放在受限存储分区中请调用 getAppStandbyBucket()。如果此方法的返回值为 STANDBY_BUCKET_RESTRICTED则您的应用在受限存储分区中。 2.8 Android 13 点击查看Android 13行为变更所有应用 点击查看Android 13 功能和变更列表 2.9 Android 14 点击查看Android 14 功能和变更列表 点击查看点击查看Android 14 行为变更所有应用 2.10 Android 15 点击查看Android 15 功能和变更列表 点击查看Android 15 行为变更所有应用 三、推荐阅读 Android存储文件路径的区别
http://www.dnsts.com.cn/news/138166.html

相关文章:

  • 卡当网站建设免费创建app网站
  • 网站做后台教程网络营销的推广方法
  • 盐山网站开发极速网站建设公司电话
  • 海南医院网站建设wordpress d压缩
  • 响应式网站注意事项一个网站建设的流程
  • 网站设计技术有哪些?济南市病疾情最新信息
  • 关于棋牌游戏网站建设文案网站动态交互
  • 建网站如何备案门户网站开发需要多少钱
  • 工控网做网站维护吗wordpress显示异常
  • 杭州北京网站建设品牌策划包括哪几个方面
  • 如何在各网站做推广网页设计个人博客模板
  • 甘肃省住房城乡建设部网站给个能直接看的网址谢谢
  • 沈阳市铁西区建设局网站购物网站的首页是静态
  • 公司网站建设合同模板装修材料
  • 佛山网站制作流程酒店品牌策划方案
  • 专业高端网站建设服务公司h5模板制作软件
  • 网站制作基础教程网站后台插件下载
  • 网站建设刂搜金手指下拉二四长治招聘网站建设
  • 创同盟做网站5分钟宣传片多少钱
  • 建筑网站主页百度开户流程
  • 成都网站制作价格淮南查查论坛
  • 建网站找我手机端的网站怎么做
  • asp sql做学生信息网站全国封城名单
  • 名字找备案网站软件网站开发实训报告
  • 营销型网站设计官网wordpress可视化编辑失效
  • 公司网站域名申请网上有哪些购物平台
  • 手机网站需要什么西安网页设计工资
  • 奢侈品网站策划方案投票网站定制
  • 营口网站建设单位可以分为()
  • 国内做的好看的网站设计wordpress倒闭汉化组