"external storage" can be a removable storage media (such as an SD card) or an internal (non-removable) storage. When there are both internal(non-removable) storage and removable SD card, I can get all the paths of the storage through two files: "scanning /proc/mounts"and "/system/etc/vold.fstab".
However, I don't know which path point to the internal(non-removable) storage. Most devices point "mnt/sdcard" or "storage/sdcard0" to the internal storage according to the vesion of Android Sdk( before Android 4.1 the path is "mnt/sdcard; after Android 4.1 the path is "storage/sdcard0"). But some devices point that path to the removable SD card. Therefore, I don't have some efficent method to divide them. I am waiting for your help. Thank you!