In Ihrem AndroidApplication Unterklasse, müssen Sie getPreferences
so gibt es die Einstellungen Ihrer anderen installierten App außer Kraft zu setzen. Ich denke, der Weg dahin ist, eine App zur primären zu machen, die nichts Besonderes macht, und die sekundäre App dazu zu bringen, die Einstellungen der primären App zu verwenden, wenn die primäre App installiert ist.
So überschreiben diese nur in der sekundären App:
@Override
public Preferences getPreferences (String name) {
try {
Context primaryAppContext =
createPackageContext("com.package.of.primary.app", Context.MODE_PRIVATE);
return new AndroidPreferences(primaryAppContext.getSharedPreferences(name, Context.MODE_PRIVATE));
catch (PackageManager.NameNotFoundException e){} //other app not installed
catch (SecurityException e){} //other app not accessible, maybe due to permissions
return super.getPreferences(name); //fall back to local preferences
}
Diese komplizierter wird, wenn Sie den Fall behandeln müssen, wo die zweite App zum ersten Mal installiert wird, und für eine Weile benutzt und dann den Benutzer installiert die erste App Denn jetzt möchten Sie vielleicht, dass die erste App die sekundäre App wird und die sekundäre App die primäre App wird. Oder Sie können die Installation der primären App überprüfen, wenn die sekundäre App bereits installiert ist, und die Einstellungen der sekundären App in die primäre App kopieren.
Es gibt auch den Fall, dass die primäre App deinstalliert wird, aber der Benutzer weiterhin die sekundäre App verwendet. Zu diesem Zeitpunkt geht die Voreinstellungsdatei verloren und der Benutzer kehrt plötzlich zu den Standardeinstellungen zurück.
Vielleicht ist die sichere Sache zu Unterklasse Libgdx's AndroidPreferences und verursachen, dass es immer in SharedPreferences in beiden Apps schreiben, so dass sie immer synchron sein werden.
Haben Sie Arbeit, um uns zu zeigen, was Sie versucht haben? Wo speichern Sie die aktuellen Eigenschaften, die Sie teilen möchten? – Underbalanced