German Meine App per Intent-Aufruf starten

Steini1980

Active Member
Licensed User
Longtime User
Hallo,
irgendwie finde ich hierzu keine vernünftige Dokumentation oder verstehe nicht so ganz wie das Funktioniert. Ich möchte das meine App von einer anderen App aus mit einem bestimmten Parameter (Suchbegriff) gestartet werden kann. So weit ich das bisher recherchiert habe ist dies über INTENTs möglich, kann mir jemand ein Beispiel aufzeigen wie ich meine App dabei zu konfigurieren habe und wo/wie ich die Parameter für meine App im System registrieren kann, der Contentprovider muss ja dem System irgendwie mitgeteilt werden oder?

Es ist hier kein Aufruf einer generellen Standardapp notwendig, es würde mir genügen, wenn explizit meine App angesprochen und parameterisiert aufgerufen werden kann.

Vielen Dank und Gruß
Thomas
 

Steini1980

Active Member
Licensed User
Longtime User
Ich habe jetzt mal ein wenig ausprobiert und folgendes in meine Manifest:
B4X:
AddReceiverText(Service,
<intent-filter>
    <action android:name="de.dms.dwviewer.SEARCH" />
</intent-filter>)

Das Servicemodul sieht wie folgt aus:
B4X:
Sub Service_Start (StartingIntent As Intent)
  If StartingIntent.Action = "de.dms.dwviewer.SEARCH" Then
    If StartingIntent.HasExtra("PARAM") Then
      CallSubDelayed2(Main,"SetParameterAndSearch",StartingIntent.GetExtra("PARAM"))
    End If   
  End If
End Sub

Aus einer Testanwendung mache ich diesen Aufruf:
B4X:
Dim myIntent As Intent
myIntent.Initialize("de.dms.dwviewer.SEARCH","")
myIntent.PutExtra("PARAM","A140145")
StartActivity(myIntent)

Dann erhalte ich diesen Fehler:
android.content.ActivityNotFoundException: No Activity found to handle Intent

Was mach ich falsch? Hoffe mir kann jemand weiterhelfen.
 

Watchkido1

Active Member
Licensed User
Longtime User
Hast du die Fehlermeldung mal in die Suche eingegeben? Da sind 3 ähnliche Fragen.
 

Steini1980

Active Member
Licensed User
Longtime User
Auch aus der Suche wurde ich nicht wirklich schlau, kann auch sein das ich hier ein allg. Verständnisproblem habe.

Ich weiß z.B. nicht, ob ich diesen Namen hier frei wählen kann bzw. ob der mit dem Namen meiner App übereinstimmen muss:
de.dms.dwviewer.SEARCH

Die App habe ich mit "de.dms.dwviewer" registriert, SEARCH habe ich einfach angehängt.
Aus der Doku geht für mich nicht hervor ob das überhaupt korrekt ist oder ob ich hier bestimmte/andere Regeln befolgen muss.
Kann ich hier vielleicht nur bestehende "android.intent.action...." verwenden, wenn ja wo finde ich die möglichen Intents?

Wenn nicht versuch ichs mal im englischen Forum..
 
Top