pirri
Forero Experto
¿El Sony que versión de Android lleva?
Sigue el vídeo a continuación para ver cómo instalar nuestro sitio como una aplicación web en tu pantalla de inicio.
Nota: Esta función puede no estar disponible en algunos navegadores.
La versión 6.0.1¿El Sony que versión de Android lleva?
He probado con rockscout y tampoco funciona.
El modo desarrollador lo tienes activado,No?
Creo que alguien del foro si que ha conectado un S7, verdad?
Tenía mis dudas de que el software que lleva la pantalla del coche fuese compatible pero al ver que con el Sony va, tiene que ser algo del S7...
Respecto a la opción de mirrorlink de ajustes del móvil lo tengo igual que lo que me indicais:![]()
Espectacular explicación!!!!!! Me recuerda a mis viejos tiempos de programador!!!Buenas!
Quería dejar un mensaje de presentación como es debido, alguna que otra foto de mi hierro y eso... Pero dado que ando un tanto escaso de tiempo, posteo de momento para comentar que me resulta de lo más curioso cómo hemos llegado a casi las mismas conclusiones sobre el funcionamiento de MirrorLink en el CH-R.
Yo el mio lo pillé en febrero (ahora ya tiene unos 4000 Km) y enseguida me puse a trastear con el sistema multimedia. También usaba el LG MirrorDrive como "launcher", para después poner el Google Maps XD.
EDIT: En esta bestial biblia toco cuestiones quizás un tanto técnicas de más sobre el funcionamiento de MirrorLink, que podrían llegar a explicar por qué no siempre funciona pero en cualquier caso, me limito a la plataforma Android, en cuanto a iOS... es que no tengo tiempo para todo! xD
El truco está es conocer cómo funcionan las apps de Android habilitadas para MirrorLink: a la hora de programarlas, una sección de la app, llamada "Manifiesto" (donde se registran características de la misma a nivel de sistema operativo), debe registrar los permisos adecuados para que el coche la reconozca y la muestre en el menú. En este link lo explican:
XSIO Programming Tutorials: Make your Android App Compatbile with MirrorLink
Además de eso, la app debe de estar firmada con un certificado emitido por el Car Connection Consortium (CCC). De este modo, esta entidad certificadora es quien regula qué aplicaciones son aptas para su uso en un vehículo.
Por si fuera poco, existe otra condición, y es que el terminal donde instales la app debe de ser capaz de reconocer los certificados emitidos por el CCC, los cuales se actualizan, para esto los fabricantes de móviles tienen que pagar al CCC, y a fin de cuestas, es lo que define si un móvil es o no compatible con MirrorLink. Este sistema de autenticación es similar al de los "sitios seguros" al navegar por internet (alguna vez os tiene que haber salido el mensaje de "Certificado no reconocido"), sólo que esta vez el móvil no os permitirá conectar una app con un certificado no válido (y es que usar una app no apta para conducción es bastante más peligroso que un virus pillado por internet xD).
Sabiendo esto podemos "hackear" la app de LG MirrorLink para ver cómo está hecha, mediante un proceso llamado decompilación, que nos permite ver su código. En su manifiesto, vemos que efectivamente declara los permisos necesarios para registrar la app como compatible con MirrorLink:
![]()
Pues bien, una vez vemos que efectivamente se trata de una app compatible, podemos de paso ver qué código se ejecuta cuando abrimos la app. El comportamiento de estas apps de Android se programa mediante un lenguaje de programación llamado Java, el cual también es decompilable. Viendo su código, podemos ver exactamente qué hace:
![]()
Por si tenéis curiosidad, este es el detalle de cómo comprueba si el móvil es un LG o no. Lo que hace en esencia es ver si el identificador "com.lge.mirrorlink" está registrado en el sistema. En teoría si registrásemos ese ID en otro móvil, la app funcionaría al completo como si de un LG se tratase xD:
![]()
Sin embargo, lo que interesa de esta app es cómo finaliza (como resalto en la imagen, usando el método "finish()"), ya que al cerrarse, "deja ver" aquélla pantalla que hubiera en el teléfono justo antes, la que quedaría "por debajo". Pues bien, en Android, los cambios de pantalla, vueltas atrás, cierre, y en definitiva cualquier cosa relacionada con la navegación, se programa mediante un sistema de paso de mesajes (llamados "Intents"). El método finish(), sin embargo, se salta este sistema y mata la aplicación "de raíz". Cada Intent usa como "destino" un identificador de una "actividad" (una actividad viene a ser como un "trozo de aplicación") ya sea de la app actual o de otra (por ejemplo, si desde una app quieres acceder a la cámara, se hace con un Intent a un ID de actividad de la cámara). Los ID's de las actividades son un nombre del tipo "com.android.common.contacts" (que correspondería a la pantalla de contactos del móvil).
De aquí deducimos varias cosas:
-Si usas LG MirrorDrive como "launcher", se cierra abruptamente y deja ver la pantalla anterior.
-Cualquier otro cambio de pantalla tras haber usado MirrorDrive se efecturará mediante un Intent a una actividad identificada por su nombre.
-Si la actividad no es compatible con MirrorLink (por ejemplo, si los desarrolladores no la consideran segura para su uso conduciendo), el sistema cerrará la conexión (con ese mensaje azul tan feo que nos obliga a reabirla).
-Si la actividad es compatible, la navegación a ésta se completará satisfactoriamente.
Por tanto, en algún lugar del terminal tienen que estar registradas las actividades compatibles. Como ya habéis descubierto, este lugar es el "packagenamedb" en la aplicación del sistema MirrorLink (al menos en mi móvil, cada uno puede almacenarlo donde le apetezca). Metiendo aquí los ID's de las actividades que queramos compatibilizar, podemos, efectivamente tener una navegación completa.
De cara a desarrollar una app nueva, la forma correcta es registrándose en el CCC y conseguir que os certifiquen la app, cosa que ya intenté y no coló xDDD (claro, no van a certificar cualquier cosa LOL... Veís ese listado con las apps certificadas?, pues la mia salía también ahí pero no ponía "Certified", y no aparecía en el menú del coche :/... Claro que sólo era una prueba, normal que no certificaran nada, y menos no viniendo de una gran empresa de desarrollo de apps...)
Bueno, creo que ya llevo una buena parrafada, y ya he divagado bastante, así que mejor lo dejo aquí de momento, y si interesa ya pondré algún que otro detalle, si es que siver de algo!
Un saludo:
~Sky
Buenas!
Quería dejar un mensaje de presentación como es debido, alguna que otra foto de mi hierro y eso... Pero dado que ando un tanto escaso de tiempo, posteo de momento para comentar que me resulta de lo más curioso cómo hemos llegado a casi las mismas conclusiones sobre el funcionamiento de MirrorLink en el CH-R.
Yo el mio lo pillé en febrero (ahora ya tiene unos 4000 Km) y enseguida me puse a trastear con el sistema multimedia. También usaba el LG MirrorDrive como "launcher", para después poner el Google Maps XD.
EDIT: En esta bestial biblia toco cuestiones quizás un tanto técnicas de más sobre el funcionamiento de MirrorLink, que podrían llegar a explicar por qué no siempre funciona pero en cualquier caso, me limito a la plataforma Android, en cuanto a iOS... es que no tengo tiempo para todo! xD
El truco está es conocer cómo funcionan las apps de Android habilitadas para MirrorLink: a la hora de programarlas, una sección de la app, llamada "Manifiesto" (donde se registran características de la misma a nivel de sistema operativo), debe registrar los permisos adecuados para que el coche la reconozca y la muestre en el menú. En este link lo explican:
XSIO Programming Tutorials: Make your Android App Compatbile with MirrorLink
Además de eso, la app debe de estar firmada con un certificado emitido por el Car Connection Consortium (CCC). De este modo, esta entidad certificadora es quien regula qué aplicaciones son aptas para su uso en un vehículo.
Por si fuera poco, existe otra condición, y es que el terminal donde instales la app debe de ser capaz de reconocer los certificados emitidos por el CCC, los cuales se actualizan, para esto los fabricantes de móviles tienen que pagar al CCC, y a fin de cuestas, es lo que define si un móvil es o no compatible con MirrorLink. Este sistema de autenticación es similar al de los "sitios seguros" al navegar por internet (alguna vez os tiene que haber salido el mensaje de "Certificado no reconocido"), sólo que esta vez el móvil no os permitirá conectar una app con un certificado no válido (y es que usar una app no apta para conducción es bastante más peligroso que un virus pillado por internet xD).
Sabiendo esto podemos "hackear" la app de LG MirrorLink para ver cómo está hecha, mediante un proceso llamado decompilación, que nos permite ver su código. En su manifiesto, vemos que efectivamente declara los permisos necesarios para registrar la app como compatible con MirrorLink:
![]()
Pues bien, una vez vemos que efectivamente se trata de una app compatible, podemos de paso ver qué código se ejecuta cuando abrimos la app. El comportamiento de estas apps de Android se programa mediante un lenguaje de programación llamado Java, el cual también es decompilable. Viendo su código, podemos ver exactamente qué hace:
![]()
Por si tenéis curiosidad, este es el detalle de cómo comprueba si el móvil es un LG o no. Lo que hace en esencia es ver si el identificador "com.lge.mirrorlink" está registrado en el sistema. En teoría si registrásemos ese ID en otro móvil, la app funcionaría al completo como si de un LG se tratase xD:
![]()
Sin embargo, lo que interesa de esta app es cómo finaliza (como resalto en la imagen, usando el método "finish()"), ya que al cerrarse, "deja ver" aquélla pantalla que hubiera en el teléfono justo antes, la que quedaría "por debajo". Pues bien, en Android, los cambios de pantalla, vueltas atrás, cierre, y en definitiva cualquier cosa relacionada con la navegación, se programa mediante un sistema de paso de mesajes (llamados "Intents"). El método finish(), sin embargo, se salta este sistema y mata la aplicación "de raíz". Cada Intent usa como "destino" un identificador de una "actividad" (una actividad viene a ser como un "trozo de aplicación") ya sea de la app actual o de otra (por ejemplo, si desde una app quieres acceder a la cámara, se hace con un Intent a un ID de actividad de la cámara). Los ID's de las actividades son un nombre del tipo "com.android.common.contacts" (que correspondería a la pantalla de contactos del móvil).
De aquí deducimos varias cosas:
-Si usas LG MirrorDrive como "launcher", se cierra abruptamente y deja ver la pantalla anterior.
-Cualquier otro cambio de pantalla tras haber usado MirrorDrive se efecturará mediante un Intent a una actividad identificada por su nombre.
-Si la actividad no es compatible con MirrorLink (por ejemplo, si los desarrolladores no la consideran segura para su uso conduciendo), el sistema cerrará la conexión (con ese mensaje azul tan feo que nos obliga a reabirla).
-Si la actividad es compatible, la navegación a ésta se completará satisfactoriamente.
Por tanto, en algún lugar del terminal tienen que estar registradas las actividades compatibles. Como ya habéis descubierto, este lugar es el "packagenamedb" en la aplicación del sistema MirrorLink (al menos en mi móvil, cada uno puede almacenarlo donde le apetezca). Metiendo aquí los ID's de las actividades que queramos compatibilizar, podemos, efectivamente tener una navegación completa.
De cara a desarrollar una app nueva, la forma correcta es registrándose en el CCC y conseguir que os certifiquen la app, cosa que ya intenté y no coló xDDD (claro, no van a certificar cualquier cosa LOL... Veís ese listado con las apps certificadas?, pues la mia salía también ahí pero no ponía "Certified", y no aparecía en el menú del coche :/... Claro que sólo era una prueba, normal que no certificaran nada, y menos no viniendo de una gran empresa de desarrollo de apps...)
Bueno, creo que ya llevo una buena parrafada, y ya he divagado bastante, así que mejor lo dejo aquí de momento, y si interesa ya pondré algún que otro detalle, si es que siver de algo!
Un saludo:
~Sky
Espectacular explicación!!!!!! Me recuerda a mis viejos tiempos de programador!!!
Alguna idea de cómo se puede solucionar mi problema con la app LG Mirrordrive?
Un saludo
Sky, no te vayas muy lejos! Jejee, necesitamos gente como tu para iluminar nuestros Touch 2!
Muchas gracias por el aporte!
Buenos días!
Acabo de encontrar una app para iPhone (en mi caso el 7) que se supone funcionaría como mirrorLink... las apps instaladas en esa app saldrían también en la pantalla del Toyota...
Se llama "mySpin", por si queréis trastearla.
Yo no he podido bajar al coche todavía a ver si de verdad funciona como prometen, pero os mantengo informados...
la probaré tiene buena Pinta. Para android estáAhora que lo pienso miSpin no tengo claro si lo probé con el iPhone o con el Samsung así que lo intentaré con ambos