1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Activity in Teilbereich der eigenen App?

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von mkl, 01.08.2012.

  1. mkl, 01.08.2012 #1
    mkl

    mkl Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    316
    Erhaltene Danke:
    33
    Registriert seit:
    09.01.2011
    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
     
  2. v Ralle v, 01.08.2012 #2
    v Ralle v

    v Ralle v Android-Lexikon

    Beiträge:
    913
    Erhaltene Danke:
    199
    Registriert seit:
    27.08.2010
    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).
     
  3. Fr4gg0r, 02.08.2012 #3
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Beiträge:
    2,506
    Erhaltene Danke:
    447
    Registriert seit:
    21.12.2009
    mkl bedankt sich.
  4. mkl, 02.08.2012 #4
    mkl

    mkl Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    316
    Erhaltene Danke:
    33
    Registriert seit:
    09.01.2011
    Danke werd mich ma einlesen kannt ich bis dato noch nicht... :)
     
  5. Fr4gg0r, 03.08.2012 #5
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Beiträge:
    2,506
    Erhaltene Danke:
    447
    Registriert seit:
    21.12.2009
    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:

    Zuletzt bearbeitet: 03.08.2012
  6. Fr4gg0r, 06.08.2012 #6
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Beiträge:
    2,506
    Erhaltene Danke:
    447
    Registriert seit:
    21.12.2009
    Das sind im Prinzip nur 4 zeilen code:

    LocalActivityManager manager(this, false);
    manager.dispatchCreate();
    setContentView();
    meinLayout.addView(manager.startActivity(intent).getDecorView());
     
  7. mkl, 07.08.2012 #7
    mkl

    mkl Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    316
    Erhaltene Danke:
    33
    Registriert seit:
    09.01.2011
    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:

     
  8. Fr4gg0r, 07.08.2012 #8
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Beiträge:
    2,506
    Erhaltene Danke:
    447
    Registriert seit:
    21.12.2009
    Ich hab das auf 2.3 getestet, evtl. wurde da was geändert in einer höheren Version.
     
  9. mkl, 08.08.2012 #9
    mkl

    mkl Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    316
    Erhaltene Danke:
    33
    Registriert seit:
    09.01.2011
    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?
     
  10. swordi, 08.08.2012 #10
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    du kannst doch einen service schreiben der im hintergrund läuft und auf nachrichten von deinem server wartet
     

Diese Seite empfehlen