android 几种不同路径的获取方法

2024-11-20 08:32:23
推荐回答(1个)
回答1:

前两个应用内部存储通过 Context 来获取, 第三个作为外部存储是通过 Environment 类来获取. 注释为返回值.

  • /data/data/包名/

    context.getFilesDir();    // /data/data/包名/filescontext.getCacheDir();    // /data/data/包名/cache
  • /sdcard/Android/data/包名/

    context.getExternalFilesDir();    // /sdcard/Android/data/包名/filescontext.getExternalCacheDir();    // /sdcard/Android/data/包名/cache
  • /sdcard/xxx

    // /storage/emulated/0Environment.getExternalStorageDirectory();// /storage/emulated/0/DCIM, 另外还有MOVIE/MUSIC等很多种标准路径Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);    
  • 注意, 根据源码文档中说明, 获取外部存储时, 有可能会因为各种问题导致获取失败, 建议先使用 getExternalStorageState 来判断外部存储状态, 如果已挂载的话再存储.