AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Start eines Installationspaketes aus einer App heraus
Thema durchsuchen
Ansicht
Themen-Optionen

Start eines Installationspaketes aus einer App heraus

Ein Thema von sko1 · begonnen am 26. Mai 2025 · letzter Beitrag vom 17. Jun 2025
Antwort Antwort
sko1

Registriert seit: 27. Jan 2017
607 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

Start eines Installationspaketes aus einer App heraus

  Alt 26. Mai 2025, 07:57
Hallo,

in 3 verschiedenen Apps verwende ich den folgenden Code um ein Update zu installieren, seit Android 15 funktioniert es bei 2 Apps weiterhin, bei einer bekomme ich die gezeigten Fehlermeldung

Delphi-Quellcode:
procedure StartUpdate;
var
  Intent: JIntent;
  FileName: string;
  fileext: string;
  dsc: string;
  Authority: JString;
  LUri: Jnet_Uri;
  aFile: JFile;
begin
  dsc := TPath.DirectorySeparatorChar;
  FileName := sDownloadPath + FilenameAPK;
  fileext := ExtractFileExt(FileName);
  fileext := uppercase(stringreplace(fileext, '.', '', []));
  if not FileExists(FileName) then
  begin
    showmessage(FileName + ' nicht gefunden !');
    exit;
  end;
  if TOSVersion.Check(8) then
  begin
    // wichtig ab Android 8 Zugriffsrechte!
    Authority := StringToJString
      (JStringToString(TAndroidHelper.Context.getApplicationContext.
      getPackageName) + '.fileprovider');
    aFile := TJFile.JavaClass.init(StringToJString(sDownloadPath),
      StringToJString(FilenameAPK));
    LUri := TJFileProvider.JavaClass.getUriForFile(TAndroidHelper.Context,
      Authority, TJFile.JavaClass.init(StringToJString(FileName)));
    Intent := TJIntent.Create;
    Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
    // Intent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW);
    Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);
    Intent.addFlags(TJIntent.JavaClass.FLAG_GRANT_READ_URI_PERMISSION);
    Intent.setDataAndType(LUri,
      StringToJString('application/vnd.android.package-archive'));
  end
  else
  begin
    // Intent je nach Dateiendung
    FileName := 'file://' + FileName;
    Intent := TJIntent.Create;
    Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
    Intent.setDataAndType(StrToJURI(FileName),
      StringToJString('application/vnd.android.package-archive'));
  end;
  TAndroidHelper.Activity.startActivity(Intent);
end;
Danke für Tips!
Ciao
Stefan
Miniaturansicht angehängter Grafiken
fehler.jpg  
  Mit Zitat antworten Zitat
sko1

Registriert seit: 27. Jan 2017
607 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

AW: Start eines Installationspaketes aus einer App heraus

  Alt 16. Jun 2025, 07:56
Ich antworte mir mal selber:

Nach langer Sucherei habe ich die Ursache gefunden:
In einem Projekt war der Haken "sichere Darteifreigabe" warum auch immer raus!
Wieder eingeschaltet, Projekt neu erstellt, läuft! ))

Ciao
Stefan
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.222 Beiträge
 
Delphi 12 Athens
 
#3

AW: Start eines Installationspaketes aus einer App heraus

  Alt 16. Jun 2025, 08:32
Mich wundert, dass Du damit überhaupt durch die Revision kommst, gibt es da keine Beschwerden oder zusätzlichen Anforderungen von GooglePlay?

Soweit ich weiss lässt Android keine Updates zu, welche nicht aus dem Playstore kommen, oder hat sich da was geändert.
Es könnte auch sein, dass Du nur Daten updatest und nicht die App selbst.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.022 Beiträge
 
Delphi 12 Athens
 
#4

AW: Start eines Installationspaketes aus einer App heraus

  Alt 16. Jun 2025, 08:52
Mich wundert, dass Du damit überhaupt durch die Revision kommst, gibt es da keine Beschwerden oder zusätzlichen Anforderungen von GooglePlay?

Soweit ich weiss lässt Android keine Updates zu, welche nicht aus dem Playstore kommen, oder hat sich da was geändert.
Das gibt dafür entsprechende Mechanismen. Seit Android 8, auf das dort auch geprüft wird, sieht das noch einmal anders aus. Früher konntest du die Berechtigung zur App-Installation aus unbekannten Quellen nur global setzen. Heute kannst du pro App setzen, dass von dort Apps installiert werden dürfen. Das fand ich vorher auch katastrophal für die Sicherheit.

Dazu kommt noch der Fileprovider, den man passend konfigurieren kann, damit der App-Installer auch Zugriff auf die heruntergeladene Datei hat.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.222 Beiträge
 
Delphi 12 Athens
 
#5

AW: Start eines Installationspaketes aus einer App heraus

  Alt 16. Jun 2025, 10:12
Ok, man lernt nie aus.
So ein Update kann dann von irgendeinem Webserver downgeloaded werden, wenn der Nutzer zustimmt?
Damit umgeht man doch den Review und man könnte nicht PlayStore-gerechte Updates hochladen,
oder muss das Update vorher auch durch einen Review?

Wie steht denn Google dazu?
Es wäre ja fatal, wenn man eine neutrale App hochlädt und dann mit Updates irgendwelche schrägen Dinge macht.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.022 Beiträge
 
Delphi 12 Athens
 
#6

AW: Start eines Installationspaketes aus einer App heraus

  Alt 16. Jun 2025, 21:16
Das ist, was professionelle Nutzung angeht, eher für Inhouse-Lösungen oder ähnliches gedacht, die nicht im Play Store zu finden sind. Oder allgemeiner gesagt für Apps, die nicht in den Play Store können oder sollen. Das heißt, diese Apps werden meistens gar nicht erst über den Play Store installiert.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
sko1

Registriert seit: 27. Jan 2017
607 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#7

AW: Start eines Installationspaketes aus einer App heraus

  Alt 17. Jun 2025, 08:09
Das ist, was professionelle Nutzung angeht, eher für Inhouse-Lösungen oder ähnliches gedacht, die nicht im Play Store zu finden sind. Oder allgemeiner gesagt für Apps, die nicht in den Play Store können oder sollen. Das heißt, diese Apps werden meistens gar nicht erst über den Play Store installiert.
Genau so ist es!

Ciao
Stefan
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.222 Beiträge
 
Delphi 12 Athens
 
#8

AW: Start eines Installationspaketes aus einer App heraus

  Alt 17. Jun 2025, 10:25
Ja, schade, hatte ich mir schon gedacht.
Zu früh gefreut .
Alles was Spass macht wird uns nicht mehr erlaubt
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz