¿Cómo puedo compartir datos entre dos aplicaciones de Android usando Preferencias compartidas?

Tengo dos aplicaciones, App1 y App2. Quiero guardar datos en App1 usando preferencia compartida y acceso en App2 y viceversa. Puedo guardar datos en App1 y acceder en App2 pero no al contrario.

Esto es lo que estoy haciendo ahora:

En manifiesto:

android:sharedUserId="any string"
android:sharedUserLabel="@string/any_string"

En la aplicación 1:

SharedPreferences prefs = getSharedPreferences("demopref",Context.MODE_PRIVATE);
SharedPreferences.Editor editor =prefs.edit();
editor.putString("demostring", strShareValue);
editor.commit();

En App2:

try {
con = createPackageContext("com.sharedpref1", 0);
SharedPreferences pref = con.getSharedPreferences("demopref", Context.MODE_PRIVATE);
String your_data =
pref.getString("demostring", "No Value");
}
catch (NameNotFoundException e) {
Log.e("Not data shared", e.toString());
}

Chicos alguna pista?

Respuestas a la pregunta(2)

Su respuesta a la pregunta