获取存储路径:

 /**** <p>* Description: 获取手机外插SD 存储路径* <p>* @date 2017-4-18* @author * @param* @return*/public static String getOuterSDPath(){String sdcard_path = null;String sd_default = Environment.getExternalStorageDirectory().getAbsolutePath();LogEx.i("DownloadPathUtil sd_default", sd_default);// sd_default = /storage/emulated/0if (sd_default.endsWith("/")){sd_default = sd_default.substring(0, sd_default.length() - 1);}// 得到路径try{Runtime runtime = Runtime.getRuntime();Process proc = runtime.exec("mount");InputStream is = proc.getInputStream();InputStreamReader isr = new InputStreamReader(is);String line;BufferedReader br = new BufferedReader(isr);while ((line = br.readLine()) != null){LogEx.i("DownloadPathUtil line:", line);if (line.contains("secure"))continue;if (line.contains("asec"))continue;if (line.contains("fat") && line.contains("/mnt/")){String columns[] = line.split(" ");if (columns != null && columns.length > 1){if (sd_default.trim().equals(columns[1].trim())){continue;}sdcard_path = columns[1];}}else if (line.contains("fuse") && line.contains("/mnt/")){String columns[] = line.split(" ");if (columns != null && columns.length > 1){if (sd_default.trim().equals(columns[1].trim())){continue;}sdcard_path = columns[1];}}else if (line.contains("extSdCard")){String columns[] = line.split(" ");if (columns != null && columns.length > 1){if (sd_default.trim().equals(columns[1].trim())){continue;}sdcard_path = columns[1];}}}}catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}LogEx.i("DownloadPathUtil", sdcard_path);return sdcard_path;}

Line 8065: 05-16 15:53:19.826 I/DownloadPathUtil sd_default(25251): 2017年5月16日 PM3:53:19    F[DownloadPathUtil]    L[433][getOuterSDPath]      /storage/emulated/0
Line 8065: 05-16 15:53:19.826 I/DownloadPathUtil sd_default(25251): 2017年5月16日 PM3:53:19    F[DownloadPathUtil]    L[433][getOuterSDPath]    
  /storage/emulated/0    这是打印的日志

发现

String sd_default = Environment.getExternalStorageDirectory().getAbsolutePath();LogEx.i("DownloadPathUtil sd_default", sd_default);// sd_default = /storage/emulated/0if (sd_default.endsWith("/")){sd_default = sd_default.substring(0, sd_default.length() - 1);}
sd_default    =  /storage/emulated/0         if 分支不会走的

打印的line:

05-16 15:53:19.936 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:19    F[DownloadPathUtil]    L[450][getOuterSDPath]      rootfs / rootfs ro,relatime 0 0

05-16 15:53:19.946 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:19    F[DownloadPathUtil]    L[450][getOuterSDPath]      tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,size=1248900k,nr_inodes=130627,mode=755 0 0

05-16 15:53:19.956 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:19    F[DownloadPathUtil]    L[450][getOuterSDPath]      devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0

05-16 15:53:19.956 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:19    F[DownloadPathUtil]    L[450][getOuterSDPath]      none /dev/cpuctl cgroup rw,relatime,cpu 0 0
05-16 15:53:19.966 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:19    F[DownloadPathUtil]    L[450][getOuterSDPath]      proc /proc proc rw,relatime 0 0

05-16 15:53:19.966 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:19    F[DownloadPathUtil]    L[450][getOuterSDPath]      sysfs /sys sysfs rw,seclabel,relatime 0 0

05-16 15:53:19.976 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:19    F[DownloadPathUtil]    L[450][getOuterSDPath]      selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0

05-16 15:53:19.986 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:20    F[DownloadPathUtil]    L[450][getOuterSDPath]      debugfs /sys/kernel/debug debugfs rw,relatime 0 0

05-16 15:53:19.996 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:20    F[DownloadPathUtil]    L[450][getOuterSDPath]      none /acct cgroup rw,relatime,cpuacct 0 0
05-16 15:53:20.006 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:20    F[DownloadPathUtil]    L[450][getOuterSDPath]      tmpfs /mnt/secure tmpfs rw,seclabel,relatime,size=1248900k,nr_inodes=130627,mode=700 0 0

05-16 15:53:20.016 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:20    F[DownloadPathUtil]    L[450][getOuterSDPath]      tmpfs /mnt/asec tmpfs rw,seclabel,relatime,size=1248900k,nr_inodes=130627,mode=755,gid=1000 0 0


05-16 15:53:20.026 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:20    F[DownloadPathUtil]    L[450][getOuterSDPath]      tmpfs /mnt/obb tmpfs rw,seclabel,relatime,size=1248900k,nr_inodes=130627,mode=755,gid=1000 0 0

05-16 15:53:20.036 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:20    F[DownloadPathUtil]    L[450][getOuterSDPath]      /dev/block/platform/msm_sdcc.1/by-name/persdata /persdata/absolute ext4 rw,seclabel,nosuid,nodev,relatime,data=ordered 0 0

05-16 15:53:20.046 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:20    F[DownloadPathUtil]    L[450][getOuterSDPath]      /dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,seclabel,nosuid,nodev,relatime,data=ordered 0 0

05-16 15:53:20.056 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:20    F[DownloadPathUtil]    L[450][getOuterSDPath]      /dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 rw,seclabel,nosuid,nodev,noatime,discard,journal_checksum,journal_async_commit,noauto_da_alloc,data=ordered 0 0

05-16 15:53:20.066 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:20    F[DownloadPathUtil]    L[450][getOuterSDPath]      /dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 rw,seclabel,nosuid,nodev,noatime,discard,journal_checksum,journal_async_commit,noauto_da_alloc,data=ordered 0 0

05-16 15:53:20.076 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:20    F[DownloadPathUtil]    L[450][getOuterSDPath]      /dev/block/platform/msm_sdcc.1/by-name/persist /persist ext4 rw,seclabel,nosuid,nodev,noatime,discard,journal_checksum,journal_async_commit,noauto_da_alloc,data=ordered 0 0

05-16 15:53:20.086 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:20    F[DownloadPathUtil]    L[450][getOuterSDPath]      /dev/block/platform/msm_sdcc.1/by-name/efs /efs ext4 rw,seclabel,nosuid,nodev,noatime,discard,journal_checksum,journal_async_commit,noauto_da_alloc,data=ordered 0 0

05-16 15:53:20.096 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:20    F[DownloadPathUtil]    L[450][getOuterSDPath]      /dev/block/platform/msm_sdcc.1/by-name/apnhlos /firmwarevfat ro,context=u:object_r:firmware:s0,relatime,uid=1000,gid=1000,fmask=0337,dmask=0227,codepage=cp437,iocharset=iso8859-1,shortname=lower,errors=remount-ro 0 0

05-16 15:53:20.106 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:20    F[DownloadPathUtil]    L[450][getOuterSDPath]      /dev/block/platform/msm_sdcc.1/by-name/modem /firmware-modem vfat ro,context=u:object_r:firmware:s0,relatime,uid=1000,gid=1000,fmask=0337,dmask=0227,codepage=cp437,iocharset=iso8859-1,shortname=lower,errors=remount-ro 0 0

05-16 15:53:20.116 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:20    F[DownloadPathUtil]    L[450][getOuterSDPath]      /data/media /mnt/shell/emulated sdcardfs rw,nosuid,nodev,relatime,uid=1023,gid=1023 0 0

05-16 15:53:20.126 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:20    F[DownloadPathUtil]    L[450][getOuterSDPath]      /data/container /mnt/shell/container sdcardfs rw,nosuid,nodev,relatime,uid=1000,gid=1000 0 0

05-16 15:53:20.136 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:20    F[DownloadPathUtil]    L[450][getOuterSDPath]      tmpfs /storage/emulated tmpfs rw,seclabel,nosuid,nodev,relatime,mode=050,gid=1028 0 0

05-16 15:53:20.146 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:20    F[DownloadPathUtil]    L[450][getOuterSDPath]      /dev/block/vold/179:65 /storage/extSdCard vfat rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,uid=1000,gid=1023,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0

05-16 15:53:20.156 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:20    F[DownloadPathUtil]    L[450][getOuterSDPath]      tmpfs /storage/extSdCard/.android_secure tmpfs ro,seclabel,relatime,size=0k,mode=000 0 0

05-16 15:53:20.166 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:20    F[DownloadPathUtil]    L[450][getOuterSDPath]      /data/media /storage/emulated/0 sdcardfs rw,nosuid,nodev,relatime,uid=1023,gid=1023 0 0

05-16 15:53:20.176 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:20    F[DownloadPathUtil]    L[450][getOuterSDPath]      /data/media /storage/emulated/0/Android/obb sdcardfs rw,nosuid,nodev,relatime,uid=1023,gid=1023 0 0

05-16 15:53:20.186 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:20    F[DownloadPathUtil]    L[450][getOuterSDPath]      /data/media /storage/emulated/legacy sdcardfs rw,nosuid,nodev,relatime,uid=1023,gid=1023 0 0

05-16 15:53:20.196 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:53:20    F[DownloadPathUtil]    L[450][getOuterSDPath]      /data/media /storage/emulated/legacy/Android/obb sdcardfs rw,nosuid,nodev,relatime,uid=1023,gid=1023 0 0

通过代码看到  含有“secure”  有        背景的两行去掉,那么含有“extSdCard”也去掉了!!!

通过代码看到 “asec” 有         背景去掉!!!!

通过代码看到 “mnt” 有         背景!! 通过代码看到 “fat” 有         背景! 含有“fuse”没有一行!!  而且也不同时含有“mut”和“fat”!!

打印出来的sdcard_path:

05-16 15:54:46.886 I/DownloadPathUtil(25251): 2017年5月16日 PM3:54:46    F[DownloadPathUtil]    L[497][getOuterSDPath]      /storage/extSdCard

输出日志关系:

05-16 15:54:46.866 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:54:46    F[DownloadPathUtil]    L[450][getOuterSDPath]      /dev/block/vold/179:65 /storage/extSdCardvfat rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,uid=1000,gid=1023,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
05-16 15:54:46.876 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:54:46    F[DownloadPathUtil]    L[450][getOuterSDPath]      tmpfs /storage/extSdCard/.android_secure tmpfs ro,seclabel,relatime,size=0k,mode=000 0 0
05-16 15:54:46.886 I/DownloadPathUtil(25251): 2017年5月16日 PM3:54:46    F[DownloadPathUtil]    L[497][getOuterSDPath]      /storage/extSdCard

05-16 15:54:46.866 I/DownloadPathUtil line:(25251): 2017年5月16日 PM3:54:46    F[DownloadPathUtil]    L[450][getOuterSDPath]      /dev/block/vold/179:65 /storage/extSdCard vfat rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,uid=1000,gid=1023,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0

这一行不含有 “secure” 分割之后,就会得到“/storage/extSdCard”   也就是上图中      含有fat和extSdCard 那一行!!!!!

到此日志分析结束。之所以使用“mnt”,“fuse”和“fat”分支是为了匹配市场上其他非主流手机。

获取存储空间大小:

/**** <p>* Description: 获取手机外插SD 存储容量 MB* <p>* @date 2017-4-18* @author * @param* @return*/public static long getOuterSDTotalSize(){String  sdcard_path = getOuterSDPath();if(TextUtils.isEmpty(sdcard_path) || TextUtils.isEmpty(sdcard_path.trim())){return 0;}StatFs stat = new StatFs(sdcard_path);long blockSize = stat.getBlockSize();long totalBlocks = stat.getBlockCount();return totalBlocks * blockSize / 1024 / 1024;}
 /**** <p>* Description: 获取手机外插SD 存储容量 MB* <p>* @date 2017-4-18* @author * @param* @return*/public static long getOuterSDFree(){String sdcard_path = getOuterSDPath();if(TextUtils.isEmpty(sdcard_path) || TextUtils.isEmpty(sdcard_path.trim())){return 0;}StatFs stat = new StatFs(sdcard_path);long blockSize = stat.getBlockSize();long availableBlocks = stat.getAvailableBlocks();return availableBlocks * blockSize / 1024 / 1024;}

/***********************************************************************************************************************************************************************************/

问题来了:对于华为手机 打印line

05-18 15:47:29.930 D/DownloadPathUtil line:(13848): May 18, 2017 15:47:29   F[DownloadPathUtil]    L[456][getOuterSDPath]      tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,size=1405708k,nr_inodes=351427,mode=755 0 0
05-18 15:47:29.931 D/DownloadPathUtil line:(13848): May 18, 2017 15:47:29   F[DownloadPathUtil]    L[456][getOuterSDPath]      devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0
05-18 15:47:29.934 D/DownloadPathUtil line:(13848): May 18, 2017 15:47:29   F[DownloadPathUtil]    L[456][getOuterSDPath]      none /dev/cpuctl cgroup rw,relatime,ionice,cpu 0 0
05-18 15:47:29.936 D/DownloadPathUtil line:(13848): May 18, 2017 15:47:29   F[DownloadPathUtil]    L[456][getOuterSDPath]      none /dev/cpuset cgroup rw,relatime,cpuset,noprefix,release_agent=/sbin/cpuset_release_agent 0 0
05-18 15:47:29.938 D/DownloadPathUtil line:(13848): May 18, 2017 15:47:29   F[DownloadPathUtil]    L[456][getOuterSDPath]      none /dev/frz cgroup rw,relatime,freezer 0 0
05-18 15:47:29.939 D/DownloadPathUtil line:(13848): May 18, 2017 15:47:29   F[DownloadPathUtil]    L[456][getOuterSDPath]      proc /proc proc rw,relatime 0 0
05-18 15:47:29.942 D/DownloadPathUtil line:(13848): May 18, 2017 15:47:29   F[DownloadPathUtil]    L[456][getOuterSDPath]      sysfs /sys sysfs rw,seclabel,relatime 0 0
05-18 15:47:29.944 D/DownloadPathUtil line:(13848): May 18, 2017 15:47:29   F[DownloadPathUtil]    L[456][getOuterSDPath]      selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
05-18 15:47:29.945 D/DownloadPathUtil line:(13848): May 18, 2017 15:47:29   F[DownloadPathUtil]    L[456][getOuterSDPath]      none /sys/fs/cgroup tmpfs rw,seclabel,relatime,size=1405708k,nr_inodes=351427,mode=750,gid=1000 0 0
05-18 15:47:29.946 D/DownloadPathUtil line:(13848): May 18, 2017 15:47:29   F[DownloadPathUtil]    L[456][getOuterSDPath]      none /sys/fs/cgroup/pids cgroup rw,relatime,pids 0 0
05-18 15:47:29.947 D/DownloadPathUtil line:(13848): May 18, 2017 15:47:29   F[DownloadPathUtil]    L[456][getOuterSDPath]      pstore /sys/fs/pstore pstore rw,seclabel,relatime 0 0
05-18 15:47:29.948 D/DownloadPathUtil line:(13848): May 18, 2017 15:47:29   F[DownloadPathUtil]    L[456][getOuterSDPath]      /sys/kernel/debug /sys/kernel/debug debugfs rw,seclabel,relatime,gid=1000,mode=755 0 0
05-18 15:47:29.950 D/DownloadPathUtil line:(13848): May 18, 2017 15:47:29   F[DownloadPathUtil]    L[456][getOuterSDPath]      none /acct cgroup rw,relatime,cpuacct 0 0
05-18 15:47:29.951 D/DownloadPathUtil line:(13848): May 18, 2017 15:47:29   F[DownloadPathUtil]    L[456][getOuterSDPath]      tmpfs /mnt tmpfs rw,seclabel,relatime,size=1405708k,nr_inodes=351427,mode=755,gid=1000 0 0
05-18 15:47:29.952 D/DownloadPathUtil line:(13848): May 18, 2017 15:47:29   F[DownloadPathUtil]    L[456][getOuterSDPath]      /data/media /mnt/runtime/default/emulated sdcardfs rw,nosuid,nodev,relatime,uid=1023,gid=1023,derive=legacy,reserved=20MB 0 0
05-18 15:47:29.954 D/DownloadPathUtil line:(13848): May 18, 2017 15:47:29   F[DownloadPathUtil]    L[456][getOuterSDPath]      /data/media /mnt/runtime/read/emulated sdcardfs rw,nosuid,nodev,relatime,uid=1023,gid=1023,derive=legacy,reserved=20MB 0 0
05-18 15:47:29.955 D/DownloadPathUtil line:(13848): May 18, 2017 15:47:29   F[DownloadPathUtil]    L[456][getOuterSDPath]      /data/media /mnt/runtime/write/emulated sdcardfs rw,nosuid,nodev,relatime,uid=1023,gid=1023,derive=legacy,reserved=20MB 0 0
05-18 15:47:29.957 D/DownloadPathUtil line:(13848): May 18, 2017 15:47:29   F[DownloadPathUtil]    L[456][getOuterSDPath]      /dev/block/vold/public:179:145 /mnt/media_rw/3632-6364 vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0

输出的 路径: /mnt/media_rw/3632-6364   使用去寻找路径,这个是直接报错的!!!

使用下面代码:

 /**
     *
     * <p>
     * Description: 通过反射获取SD卡路径:内置和外置(3.0以上)
     * <p>
     * @date 2017-4-18
     * @author 
     * @param
     * @return
     */

  public static void getVolumePaths(Context context){String[] paths = null;
        Method mMethodGetPaths = null;
        try
        {Object storageManagerObj = context.getSystemService("storage");
            if (storageManagerObj != null){mMethodGetPaths = storageManagerObj.getClass().getMethod("getVolumePaths");
                if (mMethodGetPaths != null){paths = (String[]) mMethodGetPaths.invoke(storageManagerObj);
                }}}catch (Exception e){e.printStackTrace();
            return;
        }if (paths != null && paths.length >= 2){String str = paths[1];
          if(!TextUtils.isEmpty(str)){LogEx.i("DownloadPathUtil str=", str);
              File file = new File(str);
              if (file != null && file.isDirectory() && file.canExecute()){mExternalSDPath = str;
                  //Android 4.4以上
//                  if(Build.VERSION.SDK_INT >= 19)
//                  {
//                      mExternalSDPath = str + "/Android/data/" +
//                              context.getPackageName() + DownloadSettingVo.DOWNLOAD_PATH;
//                  }
//                  else
//                  {
//                       mExternalSDPath = str + DownloadSettingVo.DOWNLOAD_PATH;
//                  }

                  LogEx.i("DownloadPathUtil mExternalSDPath=", mExternalSDPath);
              }}}}

获取的 路径是: L[563][getVolumePaths]      /storage/3632-6364

所以只能采用下面这个方法获取外插sd卡。

android 获得手机外插SD卡 存储路径和存储空间相关推荐

  1. android 获取sd卡目录失败_获取sd卡存储路径失败

    android新手,最近在学习 搜索sd卡上的所有txt文件并将其放入listview中显示,加载的过程中界面上会显示一个progress dialog.在之前的手机(Android5.0 andro ...

  2. android 获取默认存储路径,Android获取外置SD卡存储路径的方法

    在开发应用的过程中,经常会遇到需要获取设备存储路径的问题.而从网上看到的很多方法获取到的都是内置存储位置,并非外置SD卡路径,因此我推荐使用反射的机制来获取外置存储的路径. 通常,使用Environm ...

  3. android 获取sd卡目录失败_Android获取外置SD卡存储路径的方法

    在开发应用的过程中,经常会遇到需要获取设备存储路径的问题.而从网上看到的很多方法获取到的都是内置存储位置,并非外置SD卡路径,因此我推荐使用反射的机制来获取外置存储的路径. 通常,使用Environm ...

  4. android存储到sd卡中,android保存文件到SD卡【文件存储】

    sd卡用于保存大文件如视频,音频,大文档等 package cn.itcast.files; import cn.itcast.service.FileService; import android. ...

  5. android 获取sd卡目录失败_解决Android手机自带内部存储路径存在但是却获取不到内容的问题...

    我有一台中兴的Android手机,型号是 ZTE U930HD,手机没有插入外置SD卡(也就是Micro SD Card,原名Trans-flash Card(TF卡),2004年正式更名为Micro ...

  6. /mnt/sdcard或者/sdcard这是Android手机中SD卡的文件夹路径

    Android系统的开放,使其用户可以自己查看系统和SD卡中的文件夹.就系统和SD卡中常见的目录代表什么意思,下面是一个较实用的总结: 一.SD卡中 1. /mnt/sdcard或者/sdcard这是 ...

  7. android 读取手机存储数据恢复,如何从Android手机上的SD卡恢复已删除的文件-万兴恢复专家...

    第4部分:解决Android手机SD卡问题的提示 使用这些用于Android手机的SD卡恢复软件后,您当然可以检索丢失或删除的内容.然而,有时用户在Android设备上使用SD卡时会遇到不必要的问题和 ...

  8. Android开发之系统信息——获取Android手机中SD卡内存信息

    SD卡作为手机的扩展存储设备,在手机中充当硬盘角色,可以让我们手机存放更多的数据以及多媒体等大体积文件.因此查看SD卡的内存就跟我们查看硬盘的剩余空间一样,是我们经常操作的一件事,那么在Android ...

  9. 安卓 linux找回内置存储,Android手机自带内部存储路径的获取

    我有一台中兴的Android手机,型号是 ZTE U930HD,手机没有插入外置SD卡(也就是Micro SD Card,原名Trans-flash Card(TF卡),2004年正式更名为Micro ...

最新文章

  1. Android Studio 新建项目的R文件丢失的解决方法
  2. spring——使用注解声明式事务整合jdbc——GRUD
  3. xfce右键open in terminal失效问题解决
  4. src获取同级目录中的图片_一个简单的Python爬虫实例:百度贴吧页面下载图片
  5. UE4中Bebavior Tree中Delay及其后面代码失效的原因
  6. linux命令80字符,Linux终端:用cat命令查看不可见字符
  7. 山大计算机学院教务处,山东大学本科生院教务系统
  8. eclipse使用git合并_Eclipse的git插件冲突合并方法
  9. QListView的使用方法
  10. 应聘软件测试岗位需要掌握的基础知识与技能(面试常考内容)
  11. 【ios】为什么要在Other Linker Flags添加Flag (eg:-ObjC、-lc++等)?
  12. Google快讯-UTStarcom
  13. Router-view
  14. Python爬虫【如何爬取内容(html)和解析内容】
  15. 新致新知 | ChatGPT+企业知识图谱
  16. 使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL
  17. 基于卷积神经网络的高光谱分类(1D、2D、3D-CNN)
  18. python压缩图片像素_python使用pil进行图像处理(等比例压缩、裁剪)实例代码
  19. 立创开源 BGA162-809H
  20. 大数据2 Hadoop

热门文章

  1. flask的上下文的机理与应用(转载+整理)
  2. sklearn中knn的各种用法总结
  3. RHEL7恢复.bashrc文件
  4. redis删除指定key中的指定元素
  5. mysql 全局select授权_MySQL的用户设置与授权
  6. 深度学习(四十五)——Stack GAN, GAN Ensemble, Pix2Pix, CycleGAN
  7. 【前端面试】数据类型与类型检测
  8. ansible命令参数介绍
  9. Oracle 12c R2来了!
  10. 期望+DP ZOJ 3929 Deque and Balls