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"
 

Jw456

Top Contributor

die Rückgabe ist immer gleich ob interne Activity oder externe
 

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
E Input/Output Mikro Input bekommen Allgemeine Java-Themen 3
NicoDeluxe 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
Kiki01 Häufigster Buchstabe lässt sich nicht ermitteln Allgemeine Java-Themen 30
NicoDeluxe 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
M Vorhandenes das nicht existiert?? Allgemeine Java-Themen 7
L 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
T Fremde Typen mockt man nicht? Allgemeine Java-Themen 3
Killunox MaxHeap Zuweisung unter Linux funktioniert nicht Allgemeine Java-Themen 1
L Direktes return eines Array geht nicht Allgemeine Java-Themen 20
B neuroph hält beim XOR lernen nicht an Allgemeine Java-Themen 13
kodela JDialog zeigt Text nicht an Allgemeine Java-Themen 5
Dann07 Java-Programm findet DLLs nicht! Allgemeine Java-Themen 20
D Twitch API mit HttpURLConnection läuft nicht? Allgemeine Java-Themen 0
M Test geht auf Travis und mit Github Action schief aber nicht lokal Allgemeine Java-Themen 3
R Threads Clip loop loopt nicht Allgemeine Java-Themen 2
Dann07 MP3 Datei abspielen funktioniert nicht Allgemeine Java-Themen 6
W Server-Thread schreibt nicht alle Dateien Allgemeine Java-Themen 6
NicoDeluxe JMS Messages nicht abgeholt Allgemeine Java-Themen 0
O Aus JAR-Datei erstellte EXE-Datei funktioniert nicht Allgemeine Java-Themen 10
A Mp3 Player funktioniert nicht Allgemeine Java-Themen 0
W String -> byte[] -> String - Sieht jemand was ich nicht sehe? Allgemeine Java-Themen 10
M Console geht nicht auf (Windows 10) Allgemeine Java-Themen 3
J Hilfe, Jar Datei kann nicht ausgeführt werden Allgemeine Java-Themen 2
W Enumeration ein Array/List als Eigenschaft mitgeben - warum geht das nicht? Allgemeine Java-Themen 0
W Javac nicht bei Installation installiert Allgemeine Java-Themen 9
S HTML den ich von einer URL hole nicht identisch mit dem HTML im Browser Allgemeine Java-Themen 1
S Java.exe exestiert, aber irgendwie auch nicht Allgemeine Java-Themen 11
D ArrayListe delete Methode klappt nicht Allgemeine Java-Themen 12
M Programm erkennt String aus .txt Datei nicht Allgemeine Java-Themen 3
X JNA funktioniert nicht mehr Allgemeine Java-Themen 4
O Java-Applikation tut in Netbeans, als JAR nicht, wegen Pfadangaben einer benötigten Datei Allgemeine Java-Themen 8
Drachenbauer Wie finde ich den Aufrufer zu einer Methode, die sich nicht in meinem Projekt befindet? Allgemeine Java-Themen 2
Drachenbauer Division mit Int funktioniert nicht Allgemeine Java-Themen 3
Elyt Compiler-Fehler Datei kann nicht erstellt werden. Die Syntax für den Dateinamen etc. ist falsch. Allgemeine Java-Themen 2
I Vererbung Nicht erklärliche NullPointerException Allgemeine Java-Themen 7
M String lässt sich nicht Zusammenfügen Allgemeine Java-Themen 10
R Schlüsselworte "Throw new exception" gibt nicht den String als Fehlermeldung aus Allgemeine Java-Themen 2
W Dateien werden nicht gelöscht - warum? Allgemeine Java-Themen 12
W Was genau sind IOTools? Kann ich stattdessen nicht die Scanner Klasse verwenden? Allgemeine Java-Themen 3
O docx-Datei erzeugung mit DocXStamper funktioniert nicht Allgemeine Java-Themen 2
B Java Mail: Prüfen, ob Email hat ein Anhang oder nicht Allgemeine Java-Themen 2
F Scrollbar wird nicht angezeigt Allgemeine Java-Themen 0
B Discord Bot - Funktion wird nicht aufgerufen Allgemeine Java-Themen 1
F URI mit Parameter klappt nicht Allgemeine Java-Themen 1
B Mail: Nicht vorhandener Empfänger ermitteln Allgemeine Java-Themen 4
I Temp-Datei wird nicht gelöscht Allgemeine Java-Themen 12
G Jar lässt sich mit macOS nicht starten Allgemeine Java-Themen 9
E Hat der Compiler einen Fehler oder warumbeendet return nicht eine Methode ? Allgemeine Java-Themen 7
J JTextField nicht editierbar Allgemeine Java-Themen 5
X Files.walkFileTree zählt nicht richtig Allgemeine Java-Themen 2
F Schleife funktioniert nicht richtig Allgemeine Java-Themen 13
T Split() Methode funktioniert nicht?! Allgemeine Java-Themen 11
H Erste Schritte Ausführbare Dateien lassen sich nicht starten Allgemeine Java-Themen 5

Ähnliche Java Themen


Oben