My Second Device Project (actualizado)

Este proyecto está orientado al intercambio de mensajes entre 2 dispositivos mediante bluetooth. Por ejemplo esta dirigido a utilizar un Tablet como segundo dispositivo de un dispositivo principal como un móvil para recibir en el Tablet todas las notificaciones del móvil. Pero también para utilizar un móvil pequeño como segundos dispositivo de tu móvil de tamaño grande para el intercambio de notificaciones y todo tipo de funciones al igual que realizan los modernos SmartWatches de Sony o Samsung. No solo notificaciones, sino todo tipo de mensajes entre Apps para que desde una en el dispositivo secundario se envíen acciones que realice la otra en el dispositivo principal. Podrían ser: - Control remoto del sistema multimedia del móvil principal desde el secundario (Play, Stop, Volumen, ...) - Hacer que el móvil principal grabe sonidos utilizando una App del "pequeño" - Hacer que el móvil principal grabe fotos y videos utilizando una App del "pequeño" a modo de control remoto Es más accesible y fácil sacar el movil secundario que utilizar el principal, especialmente si se lleva en un bolso o bandolera, donde apenas se oyen las notificaciones. Un dispositivo pequeño puede llevarse a modo de reloj de pulsera o bien colgado del cuello o bien en el bolsillo, pero cada vez más, los phablets son más grandes. O también vives en un barrio donde no puedes mostrar tu último Samsung Galaxy Note 3 porque temes que te lo roben... Quieres un SmartWatch moderno como el Samsung Galaxy Gear (300€) con características hardware y batería pequeñas, pero no tienes tanto dinero y sin embargo tienes un pequeño móvil económico con mejores características hardware y mejor batería. Utiliza este último. En mi caso dispongo de un Nexus 5 y un Xperia U. El Xperia U no necesita SIM ya que se conecta con el Nexus mediante M2D Manager y a internet compartiendo la conexión del Nexus por bluetooth o wifi.

Este proyecto está orientado al intercambio de mensajes entre 2 dispositivos mediante bluetooth.

 

Por ejemplo esta dirigido a utilizar un Tablet como segundo dispositivo de un dispositivo principal como un móvil para recibir en el Tablet todas las notificaciones del móvil.

Pero también para utilizar un móvil pequeño como segundos dispositivo de tu móvil de tamaño grande para el intercambio de notificaciones y todo tipo de funciones al igual que realizan los modernos SmartWatches de Sony o Samsung.

 

No solo notificaciones, sino todo tipo de mensajes entre Apps para que desde una  en el dispositivo secundario se envíen acciones que realice la otra en el dispositivo principal. Podrían ser:

 

- Control remoto del sistema multimedia del móvil principal desde el secundario (Play, Stop, Volumen, ...)

- Hacer que el móvil principal grabe sonidos utilizando una App del "pequeño"

- Hacer que el móvil principal grabe fotos y videos utilizando una App del "pequeño" a modo de control remoto

 

Es más accesible y fácil sacar el movil secundario que utilizar el principal, especialmente si se lleva en un bolso o bandolera, donde apenas se oyen las notificaciones. Un dispositivo pequeño puede llevarse a modo de reloj de pulsera o bien colgado del cuello o bien en el bolsillo, pero cada vez más, los phablets son más grandes. O también vives en un barrio donde no puedes mostrar tu último Samsung Galaxy Note 3 porque temes que te lo roben...

 

Quieres un SmartWatch moderno como el Samsung Galaxy Gear (300€) con características hardware y batería pequeñas, pero no tienes tanto dinero y sin embargo tienes un pequeño móvil económico con mejores características hardware y mejor batería. Utiliza este último. En mi caso dispongo de un Nexus 5 y un Xperia U. El Xperia U no necesita SIM ya que se conecta con el Nexus mediante M2D Manager y a internet compartiendo la conexión del Nexus por bluetooth o wifi.

 

Este proyecto está compuesto de salida de las siguientes Apps:

 

- M2D My Second Device Manager para ambos dispositivos

- M2D Notifications Receiver para el dispositivo secundario

- Voice for Notifications para el dispositivo principal

 

además otros modulos se iran incorporando al proyecto, ya que otro programadores también pueden hacer Apps que funcionen con el sistema de mensajes sin preocuparse por la comunicación de estos.

 

Estos son nuevo módulos:

 

- M2D Media Remote Sender

- M2D Media Remote Receiver

 

Se pueden instalar en cualquiera de los dispositivos principal o auxiliar y sirven para manejar el otro de forma remota:

 

Tienen estas funcionalidades:

- Camara: Desde el auxiliar puedes ver las imágenes que capta la cámara del otro dispositivo e incluso tomar fotos

- Sonido: Desde el auxiliar puedes escuchar el sonido que se graba desde el micrófono del otro dispositivo.

- Media Player: Manejar el Play, Stop, ... del Player del otro dispositivo

 

¿Eres desarrollador y quieres utililizar M2D Manager para el intercambio de mensajes con acciones a ser ejecutadas por uno u otro dispositivo? Sigue leyendo...

Para enviar un mensaje entre dispositivos, primero el mensaje se envía a M2D Manager mediante un Intent con los siguientes parámetros:

 

Intent i = new Intent("com.pacosal.m2d.manager.action.MSG");
i.setPackage("com.pacosal.m2d.manager");

i.putExtra("action", "Your receiver package and filter");
i.putExtra("data", "message");

sendBroadcast(i);

 

El parámetro action incluirá el filtro broadcast que deberás incorporar en la App que va a recibir el mensaje.

El parámetro data incluirá los datos tipo String a pasar. Puedes incluir cualquier cosa, incluyendo json o tu propio formato de texto.

 

Para recibir el mensaje en la otra App (Podría ser la misma utilizada en ambas partes) M2D Manager enviará un intent con el texto de tu action que deberás registrar en el fichero manifest de tu App y actuar:

 

AndroidManifest

<receiver android:name="your_package.ExternReceiver" >
<intent-filter>
<action android:name="Your receiver package and filter" />
</intent-filter>
</receiver>

 

Class

public class ExternReceiver extends BroadcastReceiver {

public void onReceive(Context context, Intent intent) {

// Do actions...

String data = intent.getStringExtra("data");

Log.D(TAG, data);

}

 

Una vez hayas desarrollado el módulo (App) y lo pongas en Google Play, recuerda incluir este texto al final de la descripción de la App para que pueda ser encontrado por los usuarios desde M2D Manager:

M2D My Second Device Module

 

Sigue el desarrollo en este thread the Xda-developers.