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