German How start Apps from an App / Wie starte ich eine andere App aus einer App heraus?

awama

Active Member
Licensed User
Longtime User
Hallo,

ich brauche wieder einmal die Hilfe der Profis.
Ich möchte eine App aus einer anderen App heraus starten z.B per buttonClick.
Wie schaut der entspechende Code dafür aus?
Schönen Dank.

Hello,
I need the help of profis.
I want to run an App from another App per ButtonClick.
How does the Code look like?
Many thanks?

Walter
 

Vidar

Member
Licensed User
Longtime User
Hallo Walter,

dazu findest du in der dokumentation ein kleines Beispiel :)

Und zwar hier: Basic4android - Phone

Vergiss dabei nicht, die Phone-Lib einzubinden, sonst keinen Zugriff auf intent ;)

Weiterhin musst du den Package-Namen der App genau kennen und ebenso die Main activity Klasse.

Hoffe, das hilft dir weiter :)

Freundlichen Gruß
Michael
 

awama

Active Member
Licensed User
Longtime User
Hallo Michael,

Phone-Lib hab ich eingebunden, package-Name ist show.clock
aber was meinst du mit "Main activity Klasse".

Ein konkretes Beispiel das genau zu meiner Frage paßt
habe ich bei deinem Link nicht gefunden. Nur das.

Dim Intent1 As Intent
Intent1.Initialize(Intent1.ACTION_MAIN, "")
'Intent1.SetComponent("com.google.android.youtube/.HomeActivity")
Intent1.SetComponent("show.clock")
StartActivity(Intent1)

Aber obiges Beispiel funktioniert nicht. Wie müßte der Code konkret ausschauen? Ich stehe noch ziemlich am Anfang meiner Programmierkenntisse, deshalb helfen mir konkrete Beispiele am besten.
Besten Dank.

Gruß
Walter
 

Vidar

Member
Licensed User
Longtime User
Hey Walter

Nur um sicherzugehen: Ist das "show.clock" ein gültigr Package-Name einer App, die du auf deinem Handy hast? Ich kann soweine Anwendung im Market nämlich nicht finden. Zudem fehlt dir dort die angesprochene Activity-Klasse ;)


Ich drösel die entsprechende Zeile nochmal für dich auf:

Intent1.SetComponent("com.google.android.youtube/.HomeActivity")

com.google.android.youtube = Packagename

.HomeActivity = Activity Klasse

Getrennt werden die beiden mit dem /



Wie genau man die Klassen rausbekommt, kann ich dir leider nicht sagen, das einzige, womit ich mir behelfen würde, wäre, sie aus der AndroidManifest.xml auszulesen. die stehen da drin, ziemlich weit oben, zusammen mit dem Wörtchen activity ;)

Solltest du weiterhin Probleme haben, wende dich ruhig weiterhin an uns :)
Dafür existiert dieses Forum ja ;)

Mit bestem Gruß
Micha
 
Last edited:

awama

Active Member
Licensed User
Longtime User
Hallo Micha,

super, besten Dank für Deine Hilfe. Unten stehender Code startet jetzt eine von mir erstellte App auf dem Gerät.

----------------
'Activity module
Sub Process_Globals

End Sub

Sub Globals
Dim StartApp As Button
End Sub

Sub Activity_Create(FirstTime As Boolean)
'Activity.LoadLayout("Layout")

StartApp.Initialize("StartApp")
StartApp.Text = "Start App"
startApp.TextSize = 32
activity.AddView(StartApp, 50,100,400,100)
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub StartApp_Click
'Start an App
Dim Intent1 As Intent
Intent1.Initialize(Intent1.ACTION_MAIN, "")

'Infos from AndroidManifest.XML
'package="show.clock"
'android:name=".main"
Intent1.SetComponent("show.clock/.main")

StartActivity(Intent1)
End Sub

-----------

Was mich noch weiter interessiert ist - ob es möglich ist der aufgerufenen App Startparmeter (CommandLine Parameter) zu übergeben wie bei herkömmlichen Windowsprogrammen.
und
Wie habe ich auf App's die ich heruntergeladen habe Zugriff auf die Datei AndroidManifest.XML um auch solche App's (durch Auslesen der erforderlichen Daten) starten zu können? Besten Dank.

Gruß
Walter
 

Vidar

Member
Licensed User
Longtime User
Hey Walter,

um an das Manifest zu kommen, kannst du die entsprechende APK einfach mit z.B. Winrar öffnen.
Dort findest du die AndroidManifest.xml dann. Diese kannst du mit dem Hex-Editor deiner Wahl oder Notepad++ oder sonstigem öffnen und deine gesuchte activity auslesen :)

Hoffe, das hilft dir!

Gruß
Michi
 
Top