Можно ли записывать файлы из приложения Windows непосредственно на SD-карту Android?

#android #windows #sd-card

#Android #Windows #sd-карта

Вопрос:

Я ищу способ записать файл из приложения Windows на SD-карту устройства Android через USB-соединение. Для этого мне нужно будет получить букву диска SD-карты и ее точку монтирования. Мое приложение для Windows написано на C , поэтому я больше всего надеюсь на решение на C . Если это невозможно, возможно, существует Java-решение, которое затем можно поместить в оболочку C для вызова кодом моего приложения.

Я поискал вокруг и придумал несколько идей, но, похоже, пока ничего не работает. Во-первых, я наткнулся на документацию Google по методу Environment.getExternalStorageDirectory(), но я предполагаю, что, поскольку это часть Android SDK, его можно использовать только из приложения, расположенного на устройстве Android. Во-вторых, я наткнулся на некоторые функции в собственном API Windows (в первую очередь WinBase.h), которые предоставляют способ определения местоположения всех дисков и соответствующих им букв, но даже если я смогу получить эту информацию, я не знаю, как определить, какая из них является SD-картой подключенного устройства Android.

Любая помощь приветствуется!

Комментарии:

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

Ответ №1:

Я не эксперт по приложениям Windows, но если вы можете использовать системные вызовы в своей программе на C для вызова adb.exe затем вы можете выполнять команды adb непосредственно на устройстве.

Например, если вы можете выполнить «adb.exe устройства » вы можете получить список всех устройств Android, подключенных в данный момент к компьютеру. Оттуда вы можете использовать любые команды adb для отправки файлов на устройство.

Более подробная информация о командах adb здесь: ADB wiki

То, что вы ищете, вероятно, делает adb devices в сочетании с adb push <your file> /sdcard/<file on sdcard>

Удачи!

Комментарии:

1. Спасибо за ваш ответ. На самом деле я хочу избежать необходимости требовать от конечного пользователя установки ADB для работы приложения.

2. Отмечаю ответ Otra как правильный. Это кажется невозможным из приложения Windows, если оно не работает совместно с ADB.

3. если adb может это делать, и это приложение для Windows, то для этого должна быть возможность написать приложение для Windows! странно, что больше нет хорошей информации об этом

4. adb push работает, интересно, можно ли отправлять adb с моим приложением?