Связь Windows MTP / WPD с устройством Android

Я разрабатываю приложение C ++ для ПК, работающее в Windows. Приложение должно связываться с телефоном Android, подключенным через USB, с помощью MTP. Идея состоит в том, чтобы не устанавливать карту памяти. Я обнаружил, что в Windows есть то, что они называют WPD (переносное устройство Windows), которое поддерживает MTP. Выглядит неплохо, но требует установки WMP11. Что мне интересно:

  • Есть ли другие альтернативные библиотеки, которые вы можете использовать?
  • Есть ли у кого-нибудь советы или опыт использования WPD?
  • Можно ли установить какие-либо «более компактные» зависимости вместо WMP11 для xp?

Любая помощь будет принята с благодарностью.


person giZm0    schedule 27.10.2011    source источник


Ответы (1)


Я здесь даю несколько ответов на свой вопрос в надежде, что это поможет кому-то другому.

Есть ли альтернативы / более компактные библиотеки?

  • Вы можете использовать WIA, но он используется только для изображений. но части из этого я не нашел.

Какие-нибудь советы?

  • Ознакомьтесь с образцом кода, предоставленным корпорацией Майкрософт. хорошая отправная точка. Я обнаружил, что он ищет образец COM API портативных устройств на MSDN
  • Для служб вы можете проверить этот образец кода. Который я нашел в Google по запросу WpdServicesApiSample
  • WPD api вполне нормально использовать.
  • Не все устройства поддерживают протокол MTP, а некоторые поддерживают только его часть. Это вызвало у меня некоторые проблемы, но устройство, которое мы использовали, выпустило обновление, которое поддерживает больше MTP.
  • Я нашел ответ о проблемах XP из этого StackOverflow от pcbbc действительно полезный. Я также могу добавить, что мы отправили поставщику письмо с просьбой предоставить пользовательский файл .INF для поддержки XP, и они были действительно полезны и предоставили нам его. Но прошло некоторое время, прежде чем мы его получили.
person giZm0    schedule 17.01.2012