Android and JFileChooser

南笙酒味 提交于 2019-12-31 01:57:07

问题


I've developed a desktop application that allows the user to extract images from their phone.

When I first started this project, my android was running Gingerbread. When I plugged my phone into the laptop via USB, it would appear as a "Device with removable storage". Therefore, the JFileChooser would pick it up.

nwdir = new JFileChooser();
            nwdir.setCurrentDirectory(new java.io.File("C:\\"));
            nwdir.setDialogTitle(choosertitle);
            nwdir.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
            nwdir.setAcceptAllFileFilterUsed(true);

However, I recently upgraded the phone's o/s to Icecream and it now shows up on the desktop as a "portable device". This is something that the JFileChooser cannot see?!

Has anyone got any suggestions on how to get around this problem? I was going to roll back the O/S of the phone, but this somewhat limits the application's device support.


回答1:


The default transfer mode has been changed in Android 4.0 Ice Cream Sandwich from USB Mass Storage mode to MTP (Media Transfer Protocol) which doesn't use a standard filesystem mount. On some phones it is possible to change the USB mode while on others it may be necessary to install an apk to enable it




回答2:


I've found a way around it by doing this.... Settings > Wireless & Network > USB utilities and click the button > then (and ONLY then) plug in USB cable



来源:https://stackoverflow.com/questions/10934099/android-and-jfilechooser

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!