Передача файлов с устройства Android WPD на ПК - PullRequest
8 голосов
/ 23 ноября 2011

Мое приложение для Android создает некоторые файлы, которые мне нужно синхронизировать с моей основной программой на ПК и наоборот. Обычный способ сделать это - использовать учетную запись FTP, где и мое приложение для Android, и моя компьютерная программа получают последнюю версию файлов, и это прекрасно работает. Некоторые из моих клиентов не имеют доступа в Интернет на своих устройствах Android, поэтому им придется синхронизироваться с моей программой, подключившись к ПК с помощью USB-кабеля. Для этого в моей компьютерной программе есть подпрограмма, которая будет синхронизировать файлы в указанной папке на устройстве Android. Проблема заключается в том, что этот метод работает только в том случае, если устройство Android можно подключить как диск, и, таким образом, Windows может назначить букву диска.

Некоторые устройства, особенно планшеты с ОС Honeycomb (я испытал это на вкладке Samsung Galaxy 10.1 и Lenovo Thinkpad Tablet), не будут подключаться как накопители, а вместо этого будут подключаться как переносные устройства Windows (WPD). В этом случае я не могу получить доступ к устройству из моей программы (которая написана на Delphi), и поэтому моя процедура синхронизации моих файлов не работает.

Моя процедура должна знать конкретное местоположение папки, с которой нужно синхронизироваться, чтобы работать, поэтому, если я смогу перенести файлы с устройства во временную папку на ПК, синхронизировать их и, возможно, перенести файлы обратно на устройство, это решило бы мою проблему.

Может кто-нибудь предложить способ, как я могу передать файлы с устройства WPD в папку на моем ПК и обратно? Это должно быть автоматизировано, поскольку мои клиенты не могут передавать файлы вручную. В качестве альтернативы, есть ли способ заставить устройство WPD функционировать как обычный внешний диск и получить букву диска?

Ответы [ 2 ]

2 голосов
/ 23 ноября 2011

Вы можете использовать WPD Automation API из своего приложения для ПК. Документация доступна на странице выше, хотя я не искал примеры кода. (У меня не было необходимости; для приложений, которые я пишу для Android, которые должны синхронизироваться с ПК, все устройства работают как USB-накопители или могут синхронизироваться через документы Google (например, контакты и информацию календаря).

1 голос
/ 23 ноября 2011

Один из способов сделать это - пойти сюда и посмотреть на команды «adb push» и «adb pull», это должно работать, пока устройство Android подключено через USB, но у вас есть загрузить SDK и получить нужные файлы в виде «коктейля для специальных приложений», который вы дадите клиентам для синхронизации работы. Надеюсь, это поможет!

...