Warum bekommen ich den Result nicht ?

michael-x

Mitglied
hallo;
ich habe folgende Kotlin-App:

class MainActivity : AppCompatActivity() {

lateinit var v_butt1: Button
lateinit var v_text1: TextView

lateinit var appintent: Intent
lateinit var pack: String
lateinit var schl: String
lateinit var wert: String

var getResult =

registerForActivityResult(
ActivityResultContracts.StartActivityForResult()
) {
if (it.resultCode == RESULT_OK) {
val value = it.data?.getStringExtra("retu")
v_text1.text = "*" + value + "*"
} else {
val value = it.data?.getStringExtra("retu")
v_text1.text = "*" + it.resultCode + "*" + value + "*"
}
}

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

v_butt1 = findViewById(R.id.butt1)
v_text1 = findViewById(R.id.text1)

v_butt1.setOnClickListener {klick1()}

}

fun klick1() {

pack = "a1.a1.gerufen2"
schl = "keyger1"
wert = "in result1 und gerufen2"

appintent = packageManager.getLaunchIntentForPackage(pack)!!
appintent.putExtra(schl, wert)

getResult.launch(appintent)

}

}

diese ruft dann diese App auf:

class MainActivity : AppCompatActivity() {

lateinit var v_butt1: Button
lateinit var v_text1: TextView

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

v_butt1 = findViewById(R.id.butt1)
v_text1 = findViewById(R.id.text1)

val mess = intent.getStringExtra("keyger1")
v_text1.text = mess

v_butt1.setOnClickListener {

val intent = Intent()
intent.putExtra("retu", "abcdefg")
setResult(1001, intent)
finish()

}
}
}

Warum bekomme ich den result nicht ? der Resulscode ist immer 0 und die Resuldaten "null". wo ist mein Fehler ?
Vielen Dank
 

Jw456

Top Contributor
Hallo was schon mal nicht geht ist das beide Activtys den gleichen Klassen Namen haben.

Einen Aufruf bzw eine Angabe der zweiten Activity Klasse finde ich nicht in deinen Code.

val intent = Intent(context, Activity2::class.java)
getResult.launch(intent)





 

michael-x

Mitglied
Im getResult.launch habe ich doch schon die Variable appintent, in die ich das Package von der 2. App eingegeben habe.
Wie bekomme ich denn das ::class.java zu den Package-Angaben dazu ?
Und ist das "Activity2" frei wählbar oder muss das so heißen ?
 

michael-x

Mitglied
ja genau. ich will eine andere App aufrufen, die einen anderen package-Namen hat, und von dieser einen Result empfangen. Was muss ich denn dafür in meinem Programm ändern ?
 

Jw456

Top Contributor
Frage wird die zweite App auch gestartet ist der Package Name richtig?
Bekommt die App auch das Bundle der Ersten APP lasse dir das doch in der zweiten App ausgeben.


Eigentlich musst du

setResult(Activity.RESULT_OK, intent );

zurückgeben

das fragst du ja auch ab
Java:
if (it.resultCode == RESULT_OK) {

PS auch hier solltest du das "Activity.RESULT_OK" benutzen
 
Zuletzt bearbeitet:

michael-x

Mitglied
Die zweite App soll gänzlich unabhängig von der ersten App sein. Sie soll später von mehreren anderen Apps aus augerufen werden, eine gewisse Verarbeitung machen und dann einen Result an die jeweilige App zurückgeben, die sie aufgerufen hat.
 

michael-x

Mitglied
ich habe mal die geändert auf:

Code:
var getResult =

        registerForActivityResult(
            ActivityResultContracts.StartActivityForResult()
        ) {
            if (it.resultCode == RESULT_OK) {
                val value = it.data?.getStringExtra("retu")
                v_text1.text = "*" + value + "*"
            } else {
                val value = it.data?.getStringExtra("retu")
                v_text1.text = "*" + it.resultCode + "*" + value + "*"
            }
        }

der ResultCode ist immer 0 und data?.getStringExtra ist immer "null"
 

michael-x

Mitglied
in der v2. app habe ich jetzt geändert auf:

Code:
        v_butt1.setOnClickListener {

            val intent = Intent()
            intent.putExtra("retu", "abcdefg")
            setResult(-1, intent)
            // setResult(RESULT_OK, intent );
            finish()

        }

gleiches Ergebnis wie vorher.
die 2. Antwort verstehe ich nicht. wo muss ich denn was in welchem Programm ändern ?
 

michael-x

Mitglied
in der 2. Antwort wird die Methode erklärt, die es jetzt doch gar nicht mehr gibt: startActivityForResult(ResultActivity.newInstance(), REQUEST_RESULT)
 

Jw456

Top Contributor
Ja der Start der zweiten in der ersten App hat sich geändert.
Das Benden besser das zurückgeben in der zweiten aber nicht.

Java:
fun returnResult(id: Int, name: String) {
        val data = Intent().apply {
            putExtra(RESULT_ID, id)
            putExtra(RESULT_NAME, name)
        }
        setResult(RESULT_OK, data)
        finish()
    }
 

Jw456

Top Contributor
Hallo mir fällt gerade ein das man im Manifest angeben muss das die app etwas zurück gibt .

Kann dir aber jetzt keinen Code geben dafür.
 

Jw456

Top Contributor
Hallo das was du vorhast eine andere App APK mit einen expliziten Intent, und mit Rückgabe zu starten geht nicht.
Starten ja aber keine Rückgabe.

Dazu musst du einen impliziten Intents benutzen.
Wichtig ist auch das die zu startende App auch einen entsprechende Intent- Filter im Manifest hart.

Wichtig ist dabei jedenfalls
category android:name="android.intent.category.DEFAULT"

 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
S HTML einer Webseite 1:1 so bekommen wie es auch der Browser anzeigt? Allgemeine Java-Themen 14
E Input/Output Mikro Input bekommen Allgemeine Java-Themen 4
OnDemand RAM, SSD und Core Auslastung per Lib bekommen Allgemeine Java-Themen 13
Noahscript Aus einem byte Array Steuerungszeichen und Code bekommen und ersetzen Allgemeine Java-Themen 3
H Java Dom Childelemente von de Childelemente von den Childelement bekommen Allgemeine Java-Themen 1
B Dateien / Bilder von "webapp" Ordner bekommen? Allgemeine Java-Themen 1
N Generic Type einer Generischen Klasse während der Laufzeit bekommen Allgemeine Java-Themen 2
B HashMap aus Value Key bekommen Allgemeine Java-Themen 2
M Was braucht man, um einen Java Job zu bekommen? Allgemeine Java-Themen 8
I Alle logs von Logger bekommen Allgemeine Java-Themen 3
D Regex: Komplettes Wort bekommen Allgemeine Java-Themen 3
V Klassenname von allen Klassen mit einer bestimmten Eigenschaft bekommen Allgemeine Java-Themen 2
C HtmlUnit Daten einer Tabelle bekommen ohne, dass diese eine ID aufweist Allgemeine Java-Themen 1
DStrohma Swing Nicht möglich für ein JPanel den Fokus zu bekommen? Allgemeine Java-Themen 9
S [JUnit] Name von TestCase bekommen Allgemeine Java-Themen 4
D synchronen Schreibzugriff in den Griff bekommen Allgemeine Java-Themen 2
S Von HTML-Seite den Titel bekommen Allgemeine Java-Themen 2
F Image - Ausschnitt bekommen Allgemeine Java-Themen 3
J Generic von einer ArrayList/HashMap bekommen Allgemeine Java-Themen 7
Final_Striker Datei vom Server bekommen Allgemeine Java-Themen 2
S Erstes Enum bekommen? Allgemeine Java-Themen 2
R Wert von einer Klasse in eine andere bekommen Allgemeine Java-Themen 6
V Objekt aus Session als copy by value bekommen Allgemeine Java-Themen 4
M Liste der geladenen Objekte der jvm bekommen? Allgemeine Java-Themen 3
S [Lucene] Gefundene Stelle bekommen? Allgemeine Java-Themen 3
N Bekomme NIE ein TRUE obwohl ich es bekommen müsste :( Allgemeine Java-Themen 10
B JNI: HWND von aufrufendem Fenster bekommen. Allgemeine Java-Themen 4
thE_29 DOS pfad bekommen - die Tilde Allgemeine Java-Themen 1
V Alle Daten in einen path bekommen? listfiles()? Allgemeine Java-Themen 8
Zrebna Wieso sollte man Null-Prüfungen nicht mit Optional-Objekten nutzen? Allgemeine Java-Themen 13
kodela Textfeld nicht rechteckig Allgemeine Java-Themen 10
G Doppelklick auf Javaprogramm klapt nicht Allgemeine Java-Themen 1
W Timer terminiert nicht Allgemeine Java-Themen 5
D Linux, Java-Version wird nicht erkannt bzw. welche Einstellung fehlt noch? Allgemeine Java-Themen 19
W Überflüssige Deklaration vermeiden...war da nicht mal was? Allgemeine Java-Themen 3
N lwjgl kann textureSampler nicht finden Allgemeine Java-Themen 4
P Fehler: Hauptklasse Main konnte nicht gefunden oder geladen werden Ursache: java.lang.ClassNotFoundException: Main Allgemeine Java-Themen 24
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
T .Jar kann man nicht ausführen Allgemeine Java-Themen 18
P JDK nicht installiert in Net Object Fusion Allgemeine Java-Themen 7
D Image bewegt sich nicht nach Klicken auf Button Allgemeine Java-Themen 15
N Regex schlägt nicht an Allgemeine Java-Themen 10
Y Wieso krieg ich die Unit Tests nicht hin Allgemeine Java-Themen 55
D Erste Schritte Mp3 Datei kann nicht von der Festplatte geöffnet werden - mit ChatGPT erstellt Allgemeine Java-Themen 7
G Popup wird nicht sichtbar Allgemeine Java-Themen 9
8u3631984 Funktions Parameter mit Lombok "NonNull" annotieren wird in Jacococ Testcoverage nicht herausgefiltert Allgemeine Java-Themen 3
kodela String kann nicht zu Pfad konvertiert werden Allgemeine Java-Themen 16
M Apache Proxy Weiterleitung auf Tomcat funktioniert nicht wie gewünscht Allgemeine Java-Themen 1
Momo16 Brauche Hilfe - Java Projekt kann nicht erstellt werden Allgemeine Java-Themen 12
OnDemand ApacheCommon FTP Client zuckt nicht Allgemeine Java-Themen 3
T JavaPoet - (noch) nicht existente Typen Allgemeine Java-Themen 2
E Es ist nicht möglich, eine Batch-Anweisung auszuführen. Allgemeine Java-Themen 9
C Was passt hier nicht bei der Calendar-Class Allgemeine Java-Themen 2
T Testing JUnit5: try ... catch arbeitet nicht sauber Allgemeine Java-Themen 6
W While Schleife funktioniert nicht ganz Allgemeine Java-Themen 4
OnDemand MemoryLeak nicht zu finden Allgemeine Java-Themen 26
torresbig Website login Problem - Jsoup, wie bisher, klappt nicht! Allgemeine Java-Themen 31
H do-while Schleife funktioniert nicht wie ich es möchte Allgemeine Java-Themen 7
ERlK JDA Code funktioniert nicht? Allgemeine Java-Themen 4
OnDemand Ram Freigabe erfolgt nicht nach Prozessende Allgemeine Java-Themen 18
OnDemand XML desializing Attribute bringt nicht erwartetes Ergebnis Allgemeine Java-Themen 16
T ImageIcon wird nicht angezeigt Allgemeine Java-Themen 6
N JAVA-Code mit Grafikfenster zeichnet in Windows, aber nicht Mac. Allgemeine Java-Themen 4
stormyark TikTakToe funktioniert nicht Allgemeine Java-Themen 10
N Warum wird die For Schleife nicht betreten Allgemeine Java-Themen 4
Tiago1234 Hauptklasse konnte nicht gefunden oder geladen werden Allgemeine Java-Themen 38
T Remove bei ArrayList funktioniert nicht Allgemeine Java-Themen 2
M Map<String,String>funktioniert nicht richtig Allgemeine Java-Themen 4
I "Neues" Lizenzmodell Oracle - JRE nicht mehr zur Redistribution freigegeben? Allgemeine Java-Themen 16
J c Programm läuft nicht in compilierter Version des Java Projektes Allgemeine Java-Themen 7
A code wird nicht ausgeführt Allgemeine Java-Themen 3
Blender3D Alte Beiträge nicht mehr vorhanden Allgemeine Java-Themen 6
M Warum hat Java dieses und jenes nicht... Allgemeine Java-Themen 8
W Bilder werden in App mit Jar-Datei nicht angezeigt Allgemeine Java-Themen 15
Micha43 Applet *.jar läuft nicht auf dem Mac Allgemeine Java-Themen 8
Kiki01 Häufigster Buchstabe lässt sich nicht ermitteln Allgemeine Java-Themen 30
OnDemand RegEx /compilebekomme nicht die erwarteten Werte Allgemeine Java-Themen 9
HerrBolte Seltsamer Fehler nur in der Windows- und nicht in der Java-Console O_O Allgemeine Java-Themen 16
P String.replace() funktioniert nicht? Allgemeine Java-Themen 3
N nicht einsehbarer Fehler im code, kann nicht mehr übersetzten Allgemeine Java-Themen 51
P Karate API Test läuft nicht durch . initializationError Allgemeine Java-Themen 21
N nicht static und auch nicht new Allgemeine Java-Themen 3
Z macOS java konnte nicht entfernt werden xpc verbindungsfehler Allgemeine Java-Themen 4
T Schaltfläche wird nicht gefunden Allgemeine Java-Themen 4
boschl2000 Springerproblem-Implementierung funktioniert nicht richtig Allgemeine Java-Themen 1
F Getter Methode aufrufen funktioniert nicht Allgemeine Java-Themen 1
N Gierigen Regex in nicht-gierigen umwandeln Allgemeine Java-Themen 4
N Regulärer Ausdruck funktioniert nicht Allgemeine Java-Themen 6
AleXusher Hauptklasse startlösung konnte nicht gefunden oder geladen werden Allgemeine Java-Themen 1
G @PostConstruct Annotation nicht mehr gültig ? Allgemeine Java-Themen 7
L Objekte in Set nicht gefunden Allgemeine Java-Themen 13
T Projekt baut nicht mehr/lässt sich nicht mehr ausführen Allgemeine Java-Themen 6
izoards log4j2 will nicht.... Allgemeine Java-Themen 15
Tobero Meine Funktion für das beinhalten eines Punktes in einem Kreis funktioniert nicht Allgemeine Java-Themen 5
1Raini Java if-Abfrage funktioniert nicht! Allgemeine Java-Themen 3
D Firebase retrieve data Problem, Child Element wird nicht angesprochen Allgemeine Java-Themen 0
I serialVersionUID - explizit vergeben oder nicht? Allgemeine Java-Themen 6
MiMa Vorhandenes das nicht existiert?? Allgemeine Java-Themen 7
LimDul Hä? Lambda-Ausdruck geht, Methoden-Referenz nicht Allgemeine Java-Themen 8
O Jar lässt sich auf bestimmten Pc nicht starten Allgemeine Java-Themen 18

Ähnliche Java Themen

Neue Themen


Oben