Идея : создайте пульт дистанционного управления для своего телефона Android.
Почему : Мне нравится слушать музыку на своем телефоне на док-станции с подключенными динамиками.Теперь иногда я хочу увеличить / уменьшить громкость, изменить песню и т. Д. Поэтому мне нужно разблокировать телефон, найти приложение, которое воспроизводит музыку (музыкальный проигрыватель, приложение интернет-радио и т. Д.).Иногда мне удается отсоединить телефон или просто что-то испортить, и, как правило, это s * cks.
Так что я хотел бы управлять своим телефоном (по соединению для передачи данных, а не по Wi-Fi) с ноутбука (по Wi-Fi).
Я исследовал несколько подходов и хотел бы получить некоторые рекомендации по ним:
Использовать XMPP .Это хорошо, так как я могу использовать множество бесплатных XMPP-сервисов.Две библиотеки (обе на основе smack), которые я попробовал, работают нормально (Flow aSmack port и Beem smack port ).Я мог бы автоматически создать нового пользователя на устройстве и представить некоторую комбинацию идентификатора / пароля, которую я (пользователь) мог бы ввести на стороне рабочего стола, чтобы связать оба устройства.
Использовать JXTA .Должна быть следующая реальная сделка , но может быть излишним.Я хотел бы представить где-нибудь запустить сервер рандеву и ретрансляции (необходимо настроить хостинг для работы с брандмауэром / NAT) и создать группу пиров, защищенную паролем.Используйте уникальный идентификатор устройства и пароль (в группе) для связи с настольным приложением.(Отличная электронная книга, объясняющая p2p и JXTA, может быть загружена с здесь ).
Использование C2DM .Может быть ответ, но доставка уведомлений иногда может занять более пары секунд, и не будет никакого механизма обратной связи.
Пока первые решения выглядят намного проще.Создайте собственное расширение или просто создайте чат между обеими конечными точками и используйте его для передачи команд / сообщений.Но мне интересно, буду ли я злоупотреблять системой XMPP?
JXTA звучит великолепно, но из всего прочитанного мною видно, что оно предназначено для группового общения и совместного использования услуг, а не для соединения двух конечных точек.
Что вы, ребята, думаете?Я также приветствую все предложения.
ОБНОВЛЕНИЕ Я не хочу подключаться к телефону и интерактивно управлять им.Я хочу установить соединение (сокетное соединение) между ноутбуком и телефоном, даже если они оба находятся в разных сетях, защищенных брандмауэрами, маршрутизаторами.С помощью этого я мог определить протокол для выдачи команд на телефон (пониженная громкость, отключение звука, запуск приложения и т. Д.).
ОБНОВЛЕНИЕ 2 Я даю снимок JXTA.Это хорошее решение, но нехватка документации немного затрудняет работу.Получил VPS сервер FreeBSD для тестирования RDV / ретрансляции.Я продолжаю обновлять этот вопрос, поскольку он может быть полезен для других.
ОБНОВЛЕНИЕ 3 Еще немного прочтения:
ОБНОВЛЕНИЕ 4 Пока яне хватило времени для дальнейшего продолжения моего проекта.Я нашел интересный проект .В настоящее время владельцы проектов переписывают свою библиотеку, вы можете отслеживать их прогресс здесь .