最近,将之前写的一段安卓程序(安卓9上运行的)安装到安卓10的手机上,发现程序无法使用了,闪退。查找原因,是因为程序在进行文件创建时报错,文件创建失败。后查找资料发现,是因为Android 10采用了分区存取新特征,解决方法有两种:
1. 不适配Android 10分区新特征,在Mainifest-application下添加属性
android:requestLegacyExternalStorage = "true"
2.全局替换所有老版本获取路径api为新版本api:
#老版本
String path = Enviroment.getExternalStorageDirectory().getAbsolutePath();
#新版本
String path = ContextCompat.getExternalFilesDirs(FrameApplication.instance(), null)[0].getAbsolutePath();