栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

桌面Java应用程序通过USB复制和传输Android数据

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

桌面Java应用程序通过USB复制和传输Android数据

好的,我发现了问题。

问题来自

o2.getID()
参数给方法
copy.copyFromPortableDeviceToHost

因为

o2
代表文件夹,而不是文件夹中的文件,所以不可能发送文件夹,为了成功,我需要在文件夹中发送文件。

因此,我将

PortableDeviceObject
o2强制转换为
PortableDeviceFolderObject
,以便
targetFolder.getChildObjects()
PortableDeviceFolderObject
代表文件中获得子对象列表,然后可以从该文件夹中迭代任何子对象。

对于每个文件,我

copy.copyFromPortableDeviceToHost
使用正确的ID 调用methode 。

这是更正代码,从计算机到设备以及从设备到计算机的复制/传输文件。

希望对您有所帮助。

public class USBTransfertMain {    public static void main(String[] args) throws Throwable {        jMTPeMethode();    }    private static void jMTPeMethode()     {        PortableDeviceFolderObject targetFolder = null;        PortableDeviceManager manager = new PortableDeviceManager();        PortableDevice device = manager.getDevices()[0];        // Connect to USB tablet        device.open();        System.out.println(device.getModel());        System.out.println("---------------");        // Iterate over deviceObjects        for (PortableDeviceObject object : device.getRootObjects())         { // If the object is a storage object if (object instanceof PortableDeviceStorageObject)  {     PortableDeviceStorageObject storage = (PortableDeviceStorageObject) object;     for (PortableDeviceObject o2 : storage.getChildObjects())      {         if(o2.getOriginalFileName().equalsIgnoreCase("testFolder"))         {  targetFolder = (PortableDeviceFolderObject) o2;         }         System.out.println(o2.getOriginalFileName());     }     copyFileFromComputerToDeviceFolder(targetFolder);     PortableDeviceObject[] folderFiles = targetFolder.getChildObjects();     for (PortableDeviceObject pDO : folderFiles) {         copyFileFromDeviceToComputerFolder(pDO, device);     } }        }        manager.getDevices()[0].close();    }    private static void copyFileFromDeviceToComputerFolder(PortableDeviceObject pDO, PortableDevice device)    {        PortableDeviceToHostImpl32 copy = new PortableDeviceToHostImpl32();        try { copy.copyFromPortableDeviceToHost(pDO.getID(), "C:\TransferTest", device);        } catch (COMException ex) { ex.printStackTrace();        }    }    private static void copyFileFromComputerToDeviceFolder(PortableDeviceFolderObject targetFolder)     {        BigInteger bigInteger1 = new BigInteger("123456789");        File file = new File("C:\GettingJMTP.pdf");        try { targetFolder.addAudioObject(file, "jj", "jj", bigInteger1);        } catch (Exception e) { System.out.println("Exception e = " + e);        }    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/431154.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号