Acceso a los datos de otra aplicación con sharedUserId

Tengo una aplicación que ya está en el mercado, vamos a llamar "antigua aplicación". Me gustaría crear una "nueva aplicación" que comparte los datos con la antigua aplicación que decidí hacer con un SharedID.

Cambié el manifiesto de la NUEVA aplicación añadiendo la siguiente línea:

android:sharedUserId="com.myname.myoldapp" 

Donde com.myname.myoldapp es el nombre del paquete de aplicaciones antiguo. Pero no funciona.

¿Cómo puedo acceder con la nueva aplicación a los datos antiguos de la aplicación? Cambiar el userId de la antigua aplicación para que coincida con el shareduserid de la nueva, obviamente no es una opción, ya que la antigua aplicación ya está en línea y todos los usuarios que la actualicen perderían sus datos personales.

PS: los certificados son los mismos.

Gracias,.

Tengo una aplicación que ya está en el mercado, vamos a llamar "antigua aplicación". Me gustaría crear una "nueva aplicación" que comparte los datos con la antigua aplicación que decidí hacer con un SharedID.

Eso ya no será posible, sin romper todas las instalaciones existentes.

Cambié el manifiesto de la NUEVA aplicación añadiendo la siguiente línea: android: sharedUserId = "com.myname.myoldapp" Donde com.myname.myoldapp es el nombre del paquete de aplicaciones antiguo. Pero no funciona.

Si lee la documentación de android:sharedUserId , verá que le dicen: "Sin embargo, si este atributo se establece en el mismo valor para dos o más aplicaciones, todos compartirán el mismo ID". Dado que tu antigua aplicación no tiene un android:sharedUserId , no puedes establecer la nueva aplicación en el android:sharedUserId la aplicación antigua android:sharedUserId value.

¿Cómo puedo acceder con la nueva aplicación a los datos antiguos de la aplicación?

Utilice un Service . O un ContentProvider . O cualquier otra forma de IPC compatible con Android. La aplicación anterior tendrá que exponer una API basada en IPC que la nueva aplicación puede utilizar para acceder a los datos de la antigua aplicación. Puede utilizar los permisos personalizados de nivel de signature para restringir el acceso a estas API sólo a sus aplicaciones.

android:sharedUserId establecer explícitamente el valor android:sharedUserId en el manifiesto de su antigua aplicación.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.