今天给大家分享android解决getexternalstoragedirectory在29后废弃问题,亲测能用 ,需要的朋友放心食用。
初衷:在安卓10之后相信大家都遇到了getexternalstoragedirectory废弃的问题,看了网上很多都根据官方用到了getexternalfilesdir但是保存图片至相册后的通知又成了一个问题,所以我们还是不要走歪路,直接替代getexternalstoragedirectory
废话不多说,直接上代码:
// sdcard地址 /storage/emulated/0 // getexternalstoragedirectory在29已废弃 // string savedir = environment.getexternalstoragedirectory().getabsolutepath(); // getexternalfilesdir() 用于获取sdcard/android/data/你的应用的包名/files/ 目录 file externalfilerootdir = getexternalfilesdir(null); do { externalfilerootdir = objects.requirenonnull(externalfilerootdir).getparentfile(); } while (objects.requirenonnull(externalfilerootdir).getabsolutepath().contains("/android")); string savedir = objects.requirenonnull(externalfilerootdir).getabsolutepath(); string savepath = savedir "/" environment.directory_dcim "/" filename;
最终savepath就是sdcard中相册路径