# Activity einer anderen App mit result



## michael-x (28. Nov 2021)

hallo;
wenn ich in derselben App eine zweite Activity aufrufe, die einen Result liefert, muss ich in der Manifestdatei eintragen:
<activity  android:name=".UnterActivity />
und den Intent definiere ich mit:
val unter = Intent(this, UnterActivity::class.java)
secondActivityWithResult.launch(unter)
Wie muss ich das abändern, wenn die aufgerufene Actitiy die den Result liefern soll sich nicht in derselben, sondern sich in einer anderen App befindet ?
Die zweite App rufe ich in diesem Fall auf mit:
val pack = "a1.a1.gerufen3"
val unter = packageManager.getLaunchIntentForPackage(pack)!!
secondActivityWithResult.launch(unter)
Was muss ich in der Manifestdatei eintragen, damit ich ich einen Result von der aufgerufenen App empfangen kann ?
Den Result frage ich ab mit:
registerForActivityResult(ActivityResultContracts.StartActivityForResult())
Im ersten Fall wenn die aufgerufene Activity in derselben App ist klappt es. Was muss ich machen wenn die aufgerufene Activity in einer anderen App ist um den Result zu empfangen ?
Danke


----------



## Jw456 (29. Nov 2021)

Hallo 
Ich hatte dir schon gesagt das dies mit einem  Expliziten Intent nicht  geht.
Das was du machst ist ein Expliziter Intent  und kein Impliziter Intent.

Ein Impliziter  hat immer eine Action   zb.
 Intent intent=new Intent(Intent.ACTION_VIEW);


Die  App (Activity) die du starren willst muss genau die Action und Category  im Intent-Filter   im Manifest haben. In der  zustarten App nicht in der aufrufenden App


----------



## michael-x (29. Nov 2021)

danke ich hab jetzt die Lösung in einem anderen Forum bekommen.
so gehts:

val unter = Intent()
unter.setClassName("a1.a1.gerufen3", "a1.a1.gerufen3.MainActivity")

unter.putExtra("uebergabe", B.edit1.text.toString())

secondActivityWithResult.launch(unter)


----------

