starten Ich möchte aus verschiedenen Gründen nicht den Google Play-Mechanismus verwenden, um eine Android-Anwendung zu aktualisieren. Also habe ich beschlossen, ein eigenes System zum Herunterladen und Aktualisieren einer Android-Anwendung zu entwickeln.eine apk in einem android delphi seattle application error
Schritt 1: Laden Sie das Update .apk
herunter.
Schritt 2: Legen Sie eine Schaltfläche in der ursprünglichen Anwendung, so dass ein Benutzer darauf klicken kann, um die .apk
für das Upgrade zu starten.
Der folgende Code gibt mir einen Fehler.
procedure TfrmUpdateProgram.DoUpgrade;
{$IF DEFINED(IOS) or DEFINED(ANDROID)}
var Intent : JIntent;
{$ELSE}
{$ENDIF}
begin
{$IF DEFINED(IOS) or DEFINED(ANDROID)}
Intent := TJIntent.Create;
Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
Intent.addFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);
Intent.setDataAndType(StrToJURI(newAPKFile), StringToJString('application/vnd.android.package-archive'));
SharedActivityContext.startActivity(Intent);
Application.Terminate;
{$ELSE}
ShellExecute(0, PWideChar('Open'), PWideChar(newAPKFile), nil, nil, SW_HIDE);
{$ENDIF}
end;
android.content.activitynotfoundexception: Keine Aktivität Absicht behandeln {act = android.intent.action.view dat =/storage ..... update.apk typ = application/vnd.android .package-archive flg = 0x1000000}
Irgendwelche Gedanken?
Intents sind eine Nur-Android-Funktion, sie existieren nicht in iOS, daher müssen Sie einen anderen Code verwenden, wenn 'DEFINED (IOS)' wahr ist. –
Zugehörig: [Anwendung programmgesteuert unter Android installieren] (http://stackoverflow.com/questions/4604239/) –