Activity in Teilbereich der eigenen App?

M

mkl

Erfahrenes Mitglied
44
Hi Leute,

ist es eigentlich möglich, dass ich die Activity einer anderen App in einem Teilbereich meiner View starte? Also das ich einen Intent mache der die App adressiert dazu aber sag dass das starten in meiner View erfolgen soll? Wäre halt cool wenn ich die Activity vom VLC Player in meine App einbinden könnte...

Gruß mkl
 
Kurz und knapp: Nein, das ist nicht möglich. Finde ich persönlich auch ganz gut, sonst könnte sich jeder mit fremden Lorbeeren schmücken. Du wirst um den Intent nicht drum herum kommen, der dem VLC Player die volle Kontrolle gibt (oder einem anderen Videoplayer).
 
Danke werd mich ma einlesen kannt ich bis dato noch nicht... :)
 
Grad mal ausprobiert: du kannst andere Activities einbetten, die laufen dann aber in deinem Prozess.
Das kann zu Problemen führen (z.B. bei permissions).
 

Anhänge

  • device-2012-08-03-201341.png
    device-2012-08-03-201341.png
    8,5 KB · Aufrufe: 270
Zuletzt bearbeitet:
Das sind im Prinzip nur 4 zeilen code:

LocalActivityManager manager(this, false);
manager.dispatchCreate();
setContentView();
meinLayout.addView(manager.startActivity(intent).getDecorView());
 
Also wenn ich das richtig sehe hast du ja eine Setting-Seite von Android via Intent eingebunden oder? D.h. auch eine Activity einer anderen "App"

Wenn ich probiere den Player von VLC in die View einzubauen fange ich jedoch nur eine Security Exception:

java.lang.SecurityException: Requesting code from org.videolan.vlc (with uid 10180) to be run in process de.meineApp.Radio (with uid 10179)
 
Ich hab das auf 2.3 getestet, evtl. wurde da was geändert in einer höheren Version.
 
Erstma danke für deine Antwort, aber anscheinend geht das nun wirklich nicht mehr bzw. nur wenn man der App Root-Rechte vergibt.

Das Szenario ist folgendes:

Ich soll derzeit eine App entwickeln, die von einem Server eine Url zugeschickt bekommt wo der Stream läuft. Wenn ich die Url empfange soll ich den Stream starten. Nun klappt das ganz gut über einen Intent der den VLC-Player startet. Das Problem ist jetzt nur, dass ich dann auf weitere Nachrichten nicht mehr wirklich reagieren kann...

Wenn ich nun z.B. über folgenden Intent den VLC-Player starte:
Code:
Intent in = new Intent(Intent.ACTION_VIEW, Uri.parse(channel_activ.geturl()));
                startActivity(in);

Weis ich nicht wie ich den aktiven Prozess dann beenden kann. Beispielsweise muss ich wenn der Tuner einen neuen Befehl empfängt zum Senderwechseln den VLC-Player beenden und die Verbindung neu aufbauen, weil ansonsten das Bild einfriert. Gibt es eine Möglichkeit wie ich diese Activity die ich aus einem AsyncTask starte auch wieder beenden kann? Ich stell mir gerade sowas wie einen Service vor, den ich starte und der bei einem Event (Neuer Sender) den aktuell Prozess der im Vordergrund läuft beendet und anschließend neu startet.

Hast du mit solch einem Szenario schon Erfahrungen gesammelt?
 
du kannst doch einen service schreiben der im hintergrund läuft und auf nachrichten von deinem server wartet
 

Ähnliche Themen

M
Antworten
3
Aufrufe
167
moin
M
FabianDev
Antworten
5
Aufrufe
558
swa00
swa00
R
  • Robby1950
2
Antworten
23
Aufrufe
1.016
Robby1950
R
Zurück
Oben Unten