android app私有路径的获取
Anddroid 7.0 之后系统默认禁止访问公共存储目录。所以需要将文件保存在系统分配给APP的私有空间中,该路径获取也是很简单的,主要有两种场景。
1 在Activity 中获取该路径:
该场景只需调用函数
getExternalFilesDir(null)
函数即可获得,代码如下
var privatePath = getExternalFilesDir(null).toString()
该私有空间路径位于“外部存储根目录/Android/data/应用包名/files”下
2 在其他类中获取该路径
由于函数getExternalFilesDir() 函数只能在Activity中直接调用,那在我们需要写一些工具类时,也需要获取该路径,该如何实现呢?
比较推荐的方法是先写一个继承自Application的类,在该类中声明 context 的静态常量(也就是一个全局的context),这样在该APP的所有类中均可直接调用该context下的方法。代码如下
class MyApplication : Application() {override fun onCreate() {super.onCreate()//获取contextcontext = applicationContext}companion object {//创建一个伴生对象,以便获取context对象var context: Context? = nullprivate set}
}
注意:这个类写完后需要在 AndroidManifest.xml 文件中的< application >节点下声明一下。这样APP在初始化时才会把这个 context 作为一个全局常量初始化
<applicationandroid:name=".MyApplication"
以上完成后,就可以在其他的类中使用该 context 了,例如下面的代码
import com.example.recorder.MyApplication.Companion.contextfun getAPPpath():String{return context?.getExternalFilesDir(null).toString()}
得到了这个路径,就可以在该APP中进行文件的读写等操作了
android app私有路径的获取相关推荐
- Android APP存储路径和缓存清理规范
1. Android APP统一存储数据规范 基于Android系统对存储卡访问的各种特性,在充分保证基线的产品交互体验前提下,定义Android APP各业务开发中的可选存储路径,对应存储特性,各自 ...
- android 各个存储路径及获取方法总结
1.各个路径 最长用到的就这三个位置 /data/data/包名/ /sdcard/Android/data/包名/ /sdcard/xxx 前两个是应用内部存储, 会随着app的卸载而自动删除, s ...
- Android APP - GPS定位并获取地理位置
1. 相关知识简介 通过LocationManagerService可以获取位置,这个service的aidl文件在frameworks/base/location/java/android/loca ...
- Android提前加载unity程序,Unity项目嵌入Android App实现过程
1.编写自己的Unity APP,完成后,导出为Android 工程(参数和步骤截图如下),unity版本为:2019.4.16 2.导出的文件夹内容如下截图:我们只使用unityLibrary这个文 ...
- android 动态库获取路径问题,一种Android App在Native层动态加载so库的方案
这篇文章通过实战案例,介绍了一种有条理的组织Native层代码层级结构的方法.并且,在良好的代码层级.作用分工的基础上,实现了动态的按需加载.卸载so库.文章的最后,还介绍了实践过程中遇到的困难以及对 ...
- Android 外部存储App私有目录下照片和视频显示到相册
对于外部存储中,APP私有目录下的图片或者视频,一般情况下,系统自带相册中是不会显示的,如果想要将其显示出来,可以通过下面的方法,对于适配Android 10的分区存储也是很方便的一种选择. Andr ...
- 【Android App】获取照片里的位置信息及使用全球卫星导航系统(GNSS)获取位置实战(附源码和演示 超详细)
需要全部代码请点赞关注收藏后评论区留言私信~~~ 一.获取照片里的位置信息 手机拍摄的相片还保存着时间.地点.镜头参数等信息,这些信息由相片接口工具ExifInterface管理,它的常用方法说明如下 ...
- android assets绝对路径,Android 获取assets的绝对路径
第一种方法: String path = "file:///android_asset/文件名"; 第二种方法: InputStream abpath = getClass().g ...
- android根据音乐路径获取音乐时长,采样率等
android根据音乐路径获取音乐时长,采样率等 git路径为:https://github.com/zhangliangming/HPAudio Gradle 1.root build.gradle ...
最新文章
- IDEA2020如何设置全局maven路径
- IBM发布全球首台商用量子计算机
- Linux(Centos)快速搭建SVN服务器
- 解决移动端音频自动播放问题
- 什么是Vue?Vue的工作原理是什么?
- Leetcode:search_insert_position
- 从ACL2021看对比学习在NLP中的应用
- OSTaskSuspend()——挂起任务
- Linux C++ glog日志库的简单使用
- ios与java交互_5、与iOS、Android的交互 实践篇——主动调用
- IM TeamTalk流程分析
- 服务器共享文件夹设置特殊权限,资料共享服务器权限设置、服务器共享盘设置权限、设置局域网共享文件夹访问权限的方法...
- 市政管理学试题及答案
- 嵌入式系统开发与应用——Linux系统Socket网络编程
- Application的启动流程
- 学习少儿编程成就不平凡人生
- GAL 高压缩版辅助工具
- python如何使用matplotlib画散点图使不同类别的点有不同的形状和颜色?
- R语言中作图字体的设置
- (一)ssh远程连接服务器GPU以及其他GPU使用途径——新手指南