Android Realm - Zugriff auf Realm-Objekt vom Service

Ich habe ein Realm-Objekt, das in meiner Aktivität erstellt wurde. Ich muss in der Lage sein, innerhalb eines von mir erstellten Dienstes auf dieses Objekt zuzugreifen. Ich erhalte jedoch den Fehler beim Erstellen des Realm-Objekts innerhalb des Service

        mRealm = Realm.getInstance(getApplicationContext());

java.lang.IllegalStateException: Realm-Zugriff von falschem Thread. Auf Realm-Objekte kann nur auf dem Thread zugegriffen werden, auf dem sie erstellt wurden

Nun verstehe ich, dass dies bedeutet, dass ich nicht über einen Hintergrund-Thread auf das Realm-Objekt zugreifen kann, da es in meiner Aktivität erstellt wurde. Ich finde jedoch keinen einfachen Weg, um dies zu umgehen, als meinen eigenen benutzerdefinierten Handler-Thread zu erstellen, aber das scheint nur eine klobige Methode zu sein.

Fehlt mir hier etwas oder gibt es wirklich keine bessere Möglichkeit, von verschiedenen Threads aus auf ein Realm-Objekt zuzugreifen?

Aktualisieren

Ich habe ein bisschen tiefer gegraben, um herauszufinden, dass in einem IntentService die onHandleIntent-Methode in einem anderen Thread als andere Methoden in der Klasse ausgeführt wird. Daher kann ich keine Realm-Instanz auf Klassenebene erstellen und damit innerhalb und außerhalb der onHandleIntent-Methode interagieren. Das hat die Thread-Ausnahme verursacht. Abgesehen davon, dass ich in jeder Methode eine separate Instanz von Realm erstellen muss, um auf das Objekt zuzugreifen und es immer wieder abzurufen, denke ich, dass die Antwort von Ilya Tretyakov die beste ist. Ich kann das Objekt in meinem Konstruktor aus dem Realm kopieren und dann während der gesamten Lebensdauer des Dienstes damit arbeiten. Alle Methoden, die in das Realm-Objekt zurückschreiben müssen, müssen ihre eigene Realm-Instanz innerhalb dieser Methode instanziieren.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage