Serviceconnection übergeben an neue Activity

  • 7 Antworten
  • Letztes Antwortdatum
T

TortenTheo

Gast
Ich hoffe mal das Thema wurde noch nicht behandelt. Habe zumindestens nichts passendes gefunden.

In Activity A baue ich eine Verbindung zu einem Service auf um eine andere App(Service) zu steuern. Genau geht es um OpenVPN für Android.
Das ganze funktioniert auch so wie ich es mir vorstellte.
Wenn ich jetzt Activity B aufrufe möchte ich den Service auch aus dieser Activity steuern.

Das wäre jetzt auch nicht das Problem. Ich könnte einfach eine neue Verbindung zu Service herstellen.

Nur kommt bei jeder neuen Verbindung eine Sicherheitsabfrage von Android ob ich das zulassen möchte.
Und das nervt mächtig auch wenn die Abfrage im Grunde schon OK ist. Aber einmal sollte reiche.

Kann ich die "Verbindung" irgendwie an die nächste Activity übergeben?
Mit putExtra hat es nicht funktioniert da sich das entsprechende Object nicht seriallisieren läst.

TortenTheo


Gesendet von meinem A701 mit der Android-Hilfe.de App
 
Du könntest ganz einfach in der Klasse der Activity A eine statische Variable anlegen, in der deine "Connection" drin ist und das Problem ist erledigt :D
 
Ihgitt.

Sorry ich hab gerade akut auch keine Idee (müsste ich mir durch den Kopf gehen lassen), aber eine statische Variable dafür halte ich für einen ganz miesen hack.
 
Danke schon einmal für Eure Antwort.
Bin jedoch noch nicht lange bei der Android Programmierung und deshalb kann ich das mit der Statischen Variable nicht ganz nach vollziehen.
Diese muss ja immer noch in meine Activitiy B gelangen und da liegt ja mein Problem.

Ich greife auf den Service über AIDL zu und nicht über startService().
Hätte ich eventuell noch erwähnen sollen.

TortenTheo
 
Wenn du eine statische Variable hast und in ActivityA irgendwo folgendes macht
(ja so ähnlich halt)
statischeVariable = connection;

Und in ActivityB kannst du dann mit ActivityA.statischeVariable darauf zugreifen.

Statische Variablen sind immer verfügbar auch wenn es keine Instanz einer Klasse gibt.

Aber wie gesagt irgendwie wiederstrebt mir die Idee.
 
Danke.
Das wäre ein Ansatz wenn auch nicht so schön.
Ich werde es mal Testen.

TortenTheo
 
Habe es getestet und es läuft nicht ganz.
Ich kann auf den Service in Activity B zugreifen.
Unregister() funktioniert in Activity B nicht. Fehlermeldung das der Service nicht registriert ist.

ThortenTheo
 
Man kann Daten auch im Application Objekt hinterlegen.
 

Ähnliche Themen

S
Antworten
7
Aufrufe
1.200
Silvasurf
S
Zurück
Oben Unten