首页
学习
活动
专区
工具
TVP
发布

获取Android应用专属缓存存储目录的实例

如果你想摆脱缓存目录使用的尴尬:找不到目录?忘记申请读写权限?害怕污染用户存储空间?...……请往下看 SD缓存目录 当应用需要将图片或者文件缓存到SD中时要去申请创建目录,有下面几种途径 我们可以通过API调用应用专属目录: // /storage/emulated/0/Android...SD的读写权限,所以6.0及以上系统使用时也不需要动态申请读写权限 使用注意事项 当存储比较大的文件时,如图片等文件存储在SD对应的目录下 应用的内存缓存目录只有应用本身能对其进行读写操作,外部应用不行...,如相机应用 (内存目录读写权限:rwxr-x–x,SD缓存目录读写权限:rwxrwx—) 即使是通过自定义路径得到的上述目录,在系统版本大于等于4.4时也不需要申请SD读写权限 API使用及方法封装.../** * 获取应用专属缓存目录 * android 4.4及以上系统不需要申请SD读写权限 * 因此也不用考虑6.0系统动态申请SD读写权限问题,切随应用被卸载后自动清空 不会污染用户存储空间

2.4K30

PermissionX 1.5发布,支持申请Android特殊权限啦

是的,PermissionX本质上只是对Android运行时权限API进行了一层封装,用于简化运行时权限申请的。...但是6.0系统开始,Android引入了运行时权限机制。Android将常用的权限大致归成了几类,一类是普通权限,一类是危险权限,一类是特殊权限。...管理外部存储 管理外部存储权限也是一种特殊权限,它可以允许你的App拥有对整个SD进行读写的权限。 有些朋友可能会问,SD本来不就是可以全局读写的吗?为什么还要再申请这个权限?...Android 11开始,Android系统强制启用了Scoped Storage,所有App都不再拥有对SD进行全局读写的权限了。...这样我们就拥有全局读写SD的权限了。 另外PermissionX还有一个特别方便的地方,就是它可以一次性申请多个权限。

75530
您找到你想要的搜索结果了吗?
是的
没有找到

Android 内存优化】Android 原生 API 图片压缩代码示例 ( PNG 格式压缩 | JPEG 格式压缩 | WEBP 格式压缩 | 动态权限申请 | Android10 存储策略 )

Assets , 资源文件 , SD , 中 解码图片文件为内存中的 Bitmap 对象 ; 这里资源文件中加载 ; Bitmap bitmap = BitmapFactory.decodeResource...Assets , 资源文件 , SD , 中解码图片文件为内存中的 Bitmap 对象 ; 这里资源文件中加载 ; Bitmap bitmap = BitmapFactory.decodeResource...将图片压缩后 , 存储到 SD 中 , 这里 涉及到了在 Android 10 系统中动态申请权限 , 设置旧的存储访问策略 ( 该策略将在 Android 11 中无效 ) ; 这里简要介绍暂时性的解决方案...AndroidManifest.xml 中配置 SD 权限 , 及旧存储策略 : ① SD 权限 : 配置 SD 读写权限 ; <!...在 Activity 中动态申请权限 : 在 Activity 中调用 initPermissions(); 方法 , 即可动态申请 SD 访问权限 ; /** * 需要获取的权限列表

64720

Android应用更新之自动检测版本及自动升级

本文为大家分享了Android自动检测版本及自动升级的具体代码,供大家参考,具体内容如下 步骤: 1.检测当前版本的信息AndroidManifest.xml– manifest– [Android]...(demo中假设需要更新) 3.当提示用户进行版本升级时,如果用户点击了“更新”,系统将自动服务器上下载安装包并进行自动升级,如果点击取消将进入程序主界面。 效果图如下: ? ? ? ?...//网络请求获取当前版本号和下载链接 //实际操作是服务器获取 //demo写死了 String newversion = "2.1";//更新新的版本号 String content....rationale(rationaleListener ) .send(); Toast.makeText(context, "您未打开SD权限" + result, Toast.LENGTH_LONG...Override public void showRequestPermissionRationale(int requestCode, final Rationale rationale) { // 这里使用自定义对话框

89741

Android 权限机制与适配经验

这里很多人会有一些疑惑,如果针对旧版本的APP在Android6.0机型上运行或者针对Android6.0适配了的APP在Android6.0以下机型上运行,会有什么表现呢?是如何兼容的呢?...好歹,Google还算比较明智,并不是所有的权限都需要运行申请才能使用。Google对每个权限的隐私危害性进行了评估。将权限分为了两大类:普通权限和危险权限。...举个例子,控制手机震动的权限对于用户并没有什么危害,只要开发者声明了这个权限,安装后就可以一直被授权,也不能被回收,但是,像读取sd数据这类权限,很显然就是危险权限了,APP必须向用户申请这个权限。...举个例子,读sd和写sd,这两个权限通常都是成对声明和使用的,因此,它们被分为一组,而且,只要我们获取了这个权限组里面的任意一个权限,就可以获取整个权限组的权限。...但是需要注意的是,一开始就申请授权也不要冷冰冰地直接拉起系统弹窗授权,建议先用APP自己的弹窗向用户礼貌地说明为什么需要这几个权限,比如,读取不到设备信息无法联通免流,无法保证登录安全,读取不到SD无法播放歌曲等

2.6K10

常用控件之ImageView的使用(一)

加载SD中的图片 在上述中,只是简单的介绍加载资源文件中的图片以及ImageView的一些基本属性,接下来,我们为大家讲解如何加载SD中的图片,并且我们考虑到部分小伙伴对Android很感兴趣,但是都是使用自己的手机来进行调试...,需要在使用时动态申请,并且用户可以选择拒绝授权访问这些权限,已授予过的权限,用户也可以去APP设置页面去关闭授权。...//SD写入权限 Manifest.permission.WRITE_EXTERNAL_STORAGE, //SD读取权限...的绝对路径 //而绝对路径就是你SD的最上层文件夹(就好比还未双击的C盘) //而/xmkh表示的是文件夹(相当于C盘中的一个文件夹)...而且一些小伙伴阔能使用的是自己的手机,相册都不知道在哪个文件夹下,没关系,接下来我们就教你如何相册中选取照片并通过 ImageView进行加载!!

1.6K20

自定义loader使用说明,以APICloud平台为例

自定义loader完全使用当前APP的所有配置,包括APP名字、ICON图标、启动界面、包名、证书、开放平台SDK模块的各种KEY等3、 自定义loader在运行之初,会根据所选择要“真机同步”APP...项目的ID设备的SDAndroid平台)或者Document下(iOS平台)的固定目录中找到对应ID的项目的代码,并加载运行4、 官方loader的更新,不影响自定义loader,二者相互独立,可同时存在于设备上三...7、 自定义loader的更新时机,请参考第五点:何时编译新的自定义loader五、何时编译新的自定义loader1、 更换了APP的Android或者iOS证书时,需要重新编译自定义loader,同时如果项目中使用了微信...值跟APP包名挂钩的第三方SDK模块,需要重新去这些开放平台申请新的KEY3、 勾选了新的模块或者config文件的feature、meta-data字段有更新时,需要重新编译loader,编译之前,需要将该项目的...因为如果没有为该APP项目创建证书的情况下,使用的是官方的默认证书,那么自定义loader也将使用该证书,如果项目中用到了微信等与证书相关的模块,将带来调试的麻烦6、 自定义loader只设备SD或者

50410

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

拥有对整个SD的读写权限,在Android 11上被认为是一种非常危险的权限,同时也可能会对用户的数据安全造成比较大的影响。 但文件浏览器就是要对设备的整个SD进行管理的,这怎么办呢?...11,或者Environment.isExternalStorageManager()返回true,那么就说明我们已经拥有管理整个SD的权限了。...而如果还没有管理SD的权限,则会弹出一个对话框,告知用户申请权限的原因,然后使用Intent跳转到指定的授权页面,让用户手动进行授权。 程序的运行效果如下图所示: ?...不过还有一点需要注意,即使我们获得了管理SD的权限,对于Android这个目录下的很多资源仍然是访问受限的,比如说Android/data这个目录在Android 11中使用任何手段都无法访问。...运行效果如下: ? 这种方式虽然可行,但却有一个非常明显的缺点:每次我们只能操作一张图片。如果一个程序需要修改很多张图片,没有什么好办法,只能每张图片都用上述方式去申请权限。

1.2K20

android之实现打开相册、拍照录像、播放视频、保存图片到系统相册指定位置、图片压缩

Android 7.0后系统禁止应用向外部公开file://URI , * 因此需要FileProvider来向外界传递URI,传递的形式是content : //Uri,使用时需要在清单文件中注册。...挂载上了,可读可写 //打开相机 } else { Toast.makeText(getActivity(), "没有SD", Toast.LENGTH_SHORT).show(); } } } }..."/> 4.打开相机,需要动态添加权限 方法一:这种方法是自定义路径存储图片 createSavepath();//上面自定义保存路径 currentImageUri = FileProvider.getUriForFile...插入图库的方法图片并没有立刻显示在图库中,而我们需要立刻更新系统图库以便让用户可以立刻查看到这张图片。...video /** * 相册中选择视频 */ private void choiceVideo() { Intent i = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Video.Media.EXTERNAL_CONTENT_URI

5K20

简单说说Android如何使用摄像头和相册

Android6.0+ 开始,读取存放在 SD 中的任何其它目录都被列为危险权限,因此需要设定运行时权限才可以操作,这里使用了与应用关联的目录,所以就可以跳过这一步。... android 7.0+ 系统开始,直接使用本地真实的路径被认为是不安全的,会抛出一个 FileExposedException 异常,而 FileProvider 是一种特殊的内容提供器,它使用与内容提供器类似的机制对数据进行保护...上的,所以 SD 中读取照片需要申请权限 * * WRITE_EXTERNAL_STORAGE 表示读写 SD 的能力权限 * @param requestCode * @param permissions...上的,所以 SD 中读取照片需要申请权限。...点击【打开相册】按钮,会弹出读取 SD 的权限申请: ? 选取照片后的效果: ? 以上就是本文的全部内容,希望对大家的学习有所帮助。

84220

Android 插件化与测试

使用动态加载技术可以在 Android 应用运行时加载外部的dex文件,而通过网络下载新的dex文件并替换原有的dex文件就可以达到不安装新apk文件就升级应用(改变代码逻辑)的目的。...android类加载继承关系图 ? (1). PathClassLoader:提供一个简单的类加载器实现,该实现对本地文件系统中的文件和目录列表进行操作,但不尝试网络加载类。...【四、如何测试?】 (1)apk安装包是否有问题 外置插件apk,要做到既可以“安装到设备”,又可以“作为插件”使用。要注意是可以独立安装到手机上的,本身就是一个完整的应用。...(2)SD的读写权限 如果您的插件apk放到了SD上,请务必确保主程序中拥有SD权限(主程序Manifest要声明,且ROM允许),否则会出现权限问题,当然,放入应用的files目录则不受影响。...(7)插件权限相关(以小编所在项目为例) 插件应用所需要的权限,都通过宿主app进行申请; (8)插件的进程相关(以小编所在项目为例) 插件是独立进程运行,退出插件应用部分,杀掉进程; 插件有独立入口,

1.1K20

旧手机别卖掉换脸盆了,自制服务器了解一下!

chroot 环境下无法直接调用 systemd。我们会安装一个简单的启动脚本,启动 UrBackup 服务,并使用 pkill 停止服务。...02 可选设备(强烈推荐) 尽管技术的角度来看,你可以将备份存储在 SD 上,但不建议这样做。SD 的速度较慢,可靠性较低,并且无法长时间处理持续写入。...这是你的 SD ,你可以留着它(可以在树莓派上工作)。但是,如果没有插入 SD 或未正确格式化,则安装将失败。我建议安装到你的内部存储中。我假设你不会使用手机干别的事情,因为它需要一直插着电。...如何找到外部块设备的路径 在 Android 上,你可以通过 “/dev/block/sdX”(而不是 “/dev/sdX”)找到块设备。...登录到客户端,并运行此安装脚本: (不要运行服务器提供的脚本) TF=(mktemp) && wget "https://hndl.urbackup.org/Client/2.4.11/UrBackup

1.7K60

Android 热修复】热修复原理 ( Dex 文件拷贝后续操作 | 外部存储空间权限申请 | 执行效果验证 | 源码资源 )

文章目录 一、Dex 文件准备 二、外部存储空间权限申请 1、清单文件申请权限 2、动态申请权限 三、文件拷贝 1、文件拷贝 2、执行效果 四、 源码资源 一、Dex 文件准备 ---- 在 【Android...热修复】热修复原理 ( 修复包 Dex 文件准备 | Dex 优化为 Odex | Dex 文件拷贝 | 源码资源 ) 博客中 , 进行了文件拷贝简单操作 ; 将 SD 跟目录中的文件 /storage...- 1、清单文件申请权限 在 AndroidManifest.xml 清单文件中声明 SD 读写权限 ; <?...); 三、文件拷贝 ---- 1、文件拷贝 文件拷贝代码 , SD /storage/emulated/0/update.dex , 拷贝到应用内部存储 /data/user/0/kim.hsl.hotfix...try { // 读取 SD 跟目录的 /storage/emulated/0/update.dex 文件 is = new FileInputStream

31810

Android 文件管理】分区存储 ( MediaStore 文件操作 )

文章目录 一、动态权限申请 二、MediaStore 操作文件 三、完整代码示例 1、MainActivity 核心代码 2、build.gradle 构建脚本 3、清单文件 五、相关文档资料 特别注意...Android 低版本中不能使用分区存储 API 操作文件 , 【错误记录】Android 低版本使用分区存储错误 ( IllegalArgumentException:no path was provided...when inserting new file ) 一、动态权限申请 ---- 进行 SD 读写操作前 , 必须先申请 SD 读写的动态权限 ; 动态权限参考 : 【Android 应用开发】Google.../> 构建脚本中的配置 : dependencies { // 使用 Android X 的应用添加该依赖 implementation 'pub.devrel...'pub.devrel:easypermissions:3.0.0' } 3、清单文件 配置 SD 读写权限 ; ( 其它省略 ) <?

2.2K20

Android 性能优化】应用启动优化 ( 方法追踪代码模板 | 示例项目 | SD 访问权限 | 示例代码 | 获取 Trace 文件 | Android Studio 查看文件)

SD 访问权限问题 ( 动态权限申请 ) 3....MainActivity onCreate 方法追踪及动态权限申请 三、 查看 SD 根目录的 trace 文件 四、 Android Studio 中分析该 Trace 文件 一、 方法追踪代码模板...SD 访问权限问题 ( 动态权限申请 ) 1. 权限问题 : 我用的是 Google Pixel 2 手机作为测试机 , 使用的是 Android 10 系统 , 此时出现动态权限问题 ; 2....SD 访问权限 : Debug.startMethodTracing(traceFile.getAbsolutePath()) 方法作用是将方法追踪信息写出到 SD 的文件中 , 因此这里必须 动态申请...动态权限申请 : MainActivity 中使用相关权限之前 , 必须先动态申请权限 , 否则无法进行方法追踪 ; 注意 : 动态权限申请 , 必须要在 Debug.startMethodTracing

2.4K30

利用旧手机自制服务器了解一下?!

今天就给大家分享一篇文章,如何使用 UrBackup 和 Linux Deploy 在一台 Android 旧手机上搭建一台备份服务器。... chroot 环境下无法直接调用 systemd。我们会安装一个简单的启动脚本,启动 UrBackup 服务,并使用 pkill 停止服务。...可选设备(强烈推荐) 尽管技术的角度来看,你可以将备份存储在 SD 上,但不建议这样做。SD 的速度较慢,可靠性较低,并且无法长时间处理持续写入。...这是你的 SD ,你可以留着它(可以在树莓派上工作)。但是,如果没有插入 SD 或未正确格式化,则安装将失败。我建议安装到你的内部存储中。我假设你不会使用手机干别的事情,因为它需要一直插着电。...登录到客户端,并运行此安装脚本。 在安装过程中,脚本会要求你选择快照机制。

1.5K20

Android改包3

刷机就是把/system下的内容复制到规定的分区 2) 用RE管理器手机里提取,复制到SD 还有一种ROM的提取方法,不需要其它软件。...e)把factoryfs.rfs文件SD拷贝到计算机,待用。用MagicISO打开检查一下,是不是你要的内容。   ...在Android手机里,所有要刷入手机或在手机里运行的程序都必须经过签名。...com继续向下走,在/META-INF/com/google/android目录下看到有两个文件:    update-binary 刷机包用的二进制文件    updater-script 刷机包脚本文件...注释:如果你打算制作一个刷机补丁的话,原样使用这个脚本文件就行了,不用做任何修改。在实际制作时,可以直接已有的刷机补丁中把META-INF目录完全复制过来,连签名过程都省了。

1.9K10

Android权限机制,你真的了解吗?

有调查表明,恶意软件的数量在持续的上升,Google在Android安全机制上面也做了很多工作,并且一直在持续的更新,其Android的安全模型由3个部分组成:Linux安全机制、Android本地库及运行环境安全与...我们拿其中一个写SD的权限来简单说明一下: 写SD权限是 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE...gids就包含了sdcard_rw,就可以对sd中的文件进行操作了。...2.4 Android 系统对应用程序权限申请的处理方式分析 Android系统对应用程序授权申请的处理流程: (1)进入处理应用程序授权申请的入口函数; (2)系统被安装应用程序的AndroidManifest.xml...四、Android M变化以及带来的影响 Android6.0(API LEVEL23)开始,用户对应用权限进行授权是发生在应用运行时,而不是在安装时。

5.7K100
领券