Noch eine (hoffentlich) letzte Frage von mir zu diesem Thema:
Kann ich, nachdem meine App installiert wurde diese automatisch starten?
B4X:
Dim i As Intent
i.Initialize(i.ACTION_VIEW, "file://" & File.Combine(oDir, "XY.apk"))
i.SetType("application/vnd.android.package-archive")
StartActivity(i)
Du weisst ja noch gar nicht, ob die Installation wirklich durchgeführt wurde.
Wenn Du wieder in der installierenden app bist kannst du den packagemanager benutzen um rauszufinden, ob diese app inzw. installiert ist.
Wenn ja, dann kannst du die app starten. Wenn nicht, dann wurde die installation abgebrochen oder abgelehnt.
Wenn ich ein Update in einer vorhandenen App herunterlade installiere passiert nach der Installation nichts mehr.
Ich möchte, dass die App dann gestartet wird - ich meine das wäre früher (in einer älteren App-Version von mir) so gegangen.-
Ist nicht ganz korrekt. Wenn du mit dem Broadcast receiver "lauchst" dann bekommst Du die installation mit. Ansonsten passiert dann aber nichts, das ist richtig aber auch so gewollt seitens Android.
Dann musst Du in deiner App halt hingehen und mit dem Packagemanager nachgucken, ob die App installiert ist. Und dann eben die app starten. Android startet die App nicht automatisch.
Wenn ich den Code direkt aus dem Hilfebeispierl verwende erhalte ich eine Fehlermeldung bei der ich nicht weiterkomme:
B4X:
Dim in As Intent
Dim pm As PackageManager
in.Initialize("","")
in = pm.GetApplicationIntent("com.google.android.youtube")
If in.IsInitialized Then StartActivity(in)
StartActivity(in)
Dann solltest du mit dem packagemanager die liste aller apps durchgehen und da nach dem packagenamen suchen,. Wenn nicht gefunden, dann nicht installiert
Ich habe s jetzt so gemacht, das funktioniert ebenfalls problemlos:
B4X:
Dim in As Intent
Dim pm As PackageManager
in.Initialize("","")
in = pm.GetApplicationIntent("com.google.android.youtube")
'
Try
If in.IsInitialized Then StartActivity(in)
StartActivity(in)
Catch
Msgbox("App ist anscheinend nicht installiert.","Hinweis")
End Try