Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Android-Version herausfinden? (https://www.delphipraxis.net/192436-android-version-herausfinden.html)

sko1 18. Apr 2017 15:52

Android-Version herausfinden?
 
Hallo,

ich google (vielleicht mir falschen Suchbegriffen) seit Stunden, wie kann ich in einer Android-App die Android-Version des Handys / Tablets herausfinden, zusätzlich am besten auch noch den Prozessortyp...

Ich habe das Problem, dass es Anwender gibt die versuchen, meine App auf einem Samsung Galaxy Tab 3 (mit Android 4.1.3 und Intel Prozessor) zu installieren, was auch geht, nur dann beendet sich die App von allein ("App wurde angehalten").

Ich wollte dann wenigstens noch eine Meldung ausgeben, dass Android-Version und / oder Prozessor nicht unterstützt werden.

Ich habe solch ein teil hier liegen, eine Mini-App mit einem Button und ShowMessage('Hallo') funktioniert, aber schon das Debuggen ist nicht möglich, schwarzer Bildschirm und irgendwann "Anwendung reagiert nicht, Beenden" ...

Ciao
Stefan

BrightAngel 18. Apr 2017 16:17

AW: Android-Version herausfinden?
 
Ich habe keine Ahnung, ob dir das hilft, aber zwei Minuten google haben bei mir das hier zu Tage gefördert. Habe daraufhin mal hier nachgeschlagen und eventuell ist das, was du brauchst :P

Oder suchst du das speziell für Delphi?

[edit1]
Die schreiben:
Zitat:

Information about the current build, extracted from system properties.
Eventuell bekommt man die noch wo anders her... Hm.
[/edit1]

[edit2]
Was ist mit dem hier[bzw. verlinktes Doc]? Kann das leider hier grade nicht testen...
[/edit2]

Brighty

Rollo62 18. Apr 2017 17:07

AW: Android-Version herausfinden?
 
Schau auch mal hier ob da für dich was dabei ist ...

Rollo

mensch72 18. Apr 2017 17:27

AW: Android-Version herausfinden?
 
wenn du nicht willst, das deine APP für "X86" Geräte im AppStore erscheint, dann schmeiße manuell die Embacadero Dummys für MIPS und X86 aus dem APK.

Wenn du es ganz sauber lösen willst, schreibe dir selbst eine "LoaderAPP" per AndroidStudio in Java, da kannst du testen welche Version und welche CPU... Tipp: blockiere für DelphiNDK alles was kleiner 4.4.x(API19) und nicht ARM-CPU ist.


Klar "kann" es gehen, es muss aber nicht und wenn man sich an das hält wofür Delphi freigegeben ist, dann fällt alles andere flach und auch nach oben (z.B. XE6/XE7 auf Android6+) fällt wieder viel in den Bereich "kann gehen", aber dann z.B. XE10.x mit Android6 = "sollte gehen":)

Mavarik 18. Apr 2017 17:33

AW: Android-Version herausfinden?
 
Hallo!

Damit eine FMX App auf Intel läuft muss die Android Version Houdini installiert haben...

Damit es dann funktioniert muss Du noch den Loader ändern...

Hinweis aus meinen blog

Mavarik

sko1 19. Apr 2017 06:41

AW: Android-Version herausfinden?
 
Danke erst mal für die vielen Tips!
Da habe ich erst mal genug zum Lesen und testen...

Leider wird meine App nicht über Google Play verteilt sondern ist "standalone downloadbar" so dass ich keinen Einfluss darauf habe wer das versucht zu installieren.

Ja es ist so dass ich am besten direkt beim Start der App selbst prüfen möchte was da vorhanden ist im System (falls das Programm es überhaupt bis dahin schafft)

Zitat:

Damit eine FMX App auf Intel läuft muss die Android Version Houdini installiert haben...
heißt das da muss das Gerät geflasht werden? Ich glaube nicht das ich das unseren Anwendern "zumuten" kann!

Ciao
Stefan

sko1 19. Apr 2017 07:05

AW: Android-Version herausfinden?
 
Liste der Anhänge anzeigen (Anzahl: 2)
Der Tip mit dem Deviceinfo war erst recht vielversprechend, aber ich bekomme auf dem Samsung Tab3 und einem Samsung S5 die gleiche Angabe zum Prozessor (siehe angehängte Bilder) obwohl das eine ein Intel und das andere ein "echter" Arm-Prozessor ist :-(

Hat jemand noch eine Idee wie ich das besser / genauer spezifizieren kann?

Ciao
Stefan

himitsu 19. Apr 2017 07:28

AW: Android-Version herausfinden?
 
Deviceinfo ist ein Delphi-Programm.
Also es läuft immer nur auf einem ARM oder in der ARM-Emulation auf neueren Intels.

Kann natürlich sein, dass es die "CPU" seiner Laufzeitumgebung anzeigt und das wäre immer ein ARM.
Das Problem gibt es auch bei virtualisierten Windows-Programmen, wo die meisten Version-APIs in einer 32-Bit-Anwendung z.B. x68 anzeigen, obwohl Windows eigentlich ein x64 ist.

sko1 19. Apr 2017 07:34

AW: Android-Version herausfinden?
 
Heißt für mich auf deutsch : "keine Chance"?

Dann müsste ich eine Liste intern pflegen, und die Meldung anhand des Gerätenamens erzeugen?

Ciao
Stefan

mjustin 19. Apr 2017 07:45

AW: Android-Version herausfinden?
 
Ich habe mir die verlinkten Artikel nicht angesehen, aber im Prinzip könnte man die nativen Android API Informationen zur Version auch aus Delphi heraus abfragen können.


Code:
   String manufacturer = Build.MANUFACTURER;
   String model = Build.MODEL;
   int version = Build.VERSION.SDK_INT;
   String versionRelease = Build.VERSION.RELEASE;
(wobei Build im Package android.os liegt, voll qualifiziert also android.os.Build)

(aus: http://stackoverflow.com/a/35073538/6517492)


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:11 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz