С кодом, как это:Почему моя внешняя SD-карта существует, возвращает false, когда sdcard вставляется в устройство Android?
// /mnt/media_rw/udisk/sda4 is my external sdcard path
File sdcard = new File("/mnt/media_rw/udisk/sda4");
Log.d(LOG_TAG, "sdcard: " + sdcard
+ ", exists: " + sdcard.exists() // return false
+ ", is directory: " + sdcard.isDirectory() // return false
+ ", can write: " + sdcard.canWrite()); // return false
Поскольку я работаю на ТВ платформе, поэтому я использую Tera Term
инструмент для выполнения ls /mnt/media_rw/udisk/sda4
, у меня есть список файлов.
А также, это мой /proc/mounts
:
rootfs/rootfs ro,relatime 0 0
devtmpfs /dev devtmpfs rw,seclabel,relatime,size=111156k,nr_inodes=22811,mode=755 0 0
tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,mode=600,ptmxmode=000 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
none /mnt/media_rw tmpfs rw,seclabel,relatime,mode=700,uid=1023,gid=1023 0 0
none /storage tmpfs rw,seclabel,relatime,mode=751,uid=1028,gid=1028 0 0
tmpfs /mnt/secure tmpfs rw,seclabel,relatime,mode=700 0 0
tmpfs /tmp tmpfs rw,seclabel,relatime,size=20480k,mode=771 0 0
tmpfs /mnt/asec tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
/dev/block/mmcblk0p1 /system ext4 rw,seclabel,relatime,data=ordered 0 0
/dev/block/mmcblk0p2 /data ext4 rw,seclabel,nosuid,nodev,noatime,nomblk_io_submit,errors=panic,data=ordered 0 0
/dev/block/mmcblk0p3 /cache ext4 rw,seclabel,nosuid,nodev,noatime,nomblk_io_submit,errors=panic,data=ordered 0 0
/dev/fuse /mnt/shell/emulated fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
/dev/block/vold/8:4 **/mnt/media_rw/udisk/sda4** vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,usefree,utf8,errors=remount-ro 0 0
/dev/fuse /storage/udisk/sda4 fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
Я попытался /storage/udisk/sda4/
вместо /mnt/media_rw/udisk/sda4
, он возвращает true
. Почему это?
разрешение выпуск? – Henry
Какая версия для Android? Вы пробовали Context.getExternalFilesDirs? – marcinj
@Henry Как это подтвердить? Я попробовал '/ storage/udisk/sda4 /' вместо '/ mnt/media_rw/udisk/sda4', он возвращает' true' – roger