![]() |
Delphi 10.3.3 Android 10
Hallo,
ich habe ein Problem beim Auslesen der IMEI eines Smartphones auf Geräten mit Android 10. Die Methode getIMEI() des TelephonyManager liefert mir zwar eine Nummer, diese stimmt aber nicht der IMEI überein. Bis Android 9 funktionierte das alles noch. Aus der Dokumentation geht hervor das ab API-Level 26 die Berechtigung READ_PRIVILEGED_PHONE_STATE dafür notwendig ist. Ich finde die aber in Delphi 10.3.3 nicht. Hat evt. jemand das gleich Problem? |
AW: Delphi 10.3.3 Android 10
![]() Kurz gesagt hat sich Android entschieden, bestimmte Geräteinformationen hinter einer privilegierten Berechtigung zu verstecken, welche nur unter bestimmten Umständen gewährt wird, welche unter dem Link zu finden sind. Du müsstest also mal gucken, inwiefern das bei deiner App erreichbar ist. |
AW: Delphi 10.3.3 Android 10
Vielleicht kennt Delphi das neue READ_PRIVILEGED_PHONE_STATE noch nicht?
Ich glaub man konnte sowas aber auch irgendwie direkt in irgendeine Datei eintragen, auch wenn es GUI selber das noch nicht kann. Zitat:
Es ist auch gut so, dass die Sicherheit weiter verbessert wird. (OK, auch wenn Google/Android standardmäßig selbst auch noch zuviele Infos abgreift) Auch schön, dass man, gegenüber älteren Androids, inzwischen Anwendungen auch geziehlt Rechte wegnehmen und teilweise durch "Dummies" ersetzen kann, bzw. die Anwendung nicht nur installieren kann, nachdem man alles gewehrt hat, was so manche Anwendung verlangt. (obwohl es für deren "eigentliche" Funktion garnicht "nötig" ist) |
AW: Delphi 10.3.3 Android 10
Danke! Wir haben die IMEI bisher zu Lizenzzwecken genutzt. Ich werde das wohl umbauen und eine eigene Id erzeugen. Damit sind auch die Berechtigungen nicht mehr notwendig.
|
AW: Delphi 10.3.3 Android 10
Ist die Dummy-IMEI denn bei allen Geräten gleich, oder bekommst du dort für Gerät/Benutzer dennoch was Unterschiedliches?
(maximal bei Erstellen eines Users bzw. Einrichtung des Gerätes oder bei Erstinstallation deiner App zufällig erstellt) Dann brauchst ja selbst nichts Eigenes zu erfinden und kannst die Nummer weiterhin verwenden. |
AW: Delphi 10.3.3 Android 10
Zitat:
Code:
Bei MacOS gibt es definitiv mir bekannte Permissions für die man dies tun muss. <uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="%targetSdkVersion%" /> <uses-permission android:name="android.permission.XYZ" /> <%uses-permission%> Ich empfehle immer zusätzlich ein Ticket bei ![]() Und ich nutze aktuell die folgende Implementierung um eine ID für die Lizenz zu erzeugen:
Delphi-Quellcode:
result := JStringToString(TJSettings_Secure.JavaClass.getString(TAndroidHelper.Activity.getContentResolver,TJSettings_Secure.JavaClass.ANDROID_ID));
if (result = '') then result:=JStringToString(TJBuild.JavaClass.SERIAL); |
AW: Delphi 10.3.3 Android 10
Bitte formuliere den Titel so, dass er etwas über dein Problem oder Frage aussagt. Der jetzige lässt keinerlei Rückschlüsse auf dein Problem.
Editiere dazu deinen ersten Beitrag und klicke auf "Erweitert", um den Titel zu editieren. Vielen Dank. |
AW: Delphi 10.3.3 Android 10
Falls es dir um das Tracken des Gerätes geht. Das möchte man nicht so gerne und es geht auch echt schwer...Insbesondere manche China-Tabletts haben zum Teil alle die selbe IMEI oder Seriennummer. IMEI und Telefonnummer fallen weg, wenn das Gerät nicht telefonieren kann.
Relativ zuverlässig war mal die WLAN-Macadresse, aber da gibts auch Chinageräte mit identischen W-LAN Macadressen. Das Einzige was wirklich trackbar ist, ist die Installation der Instanz deiner App mittels UUID von Android... Deshalb benutze ich plattformübergreifend ein Verfahren, das eine ID von unserem Server generieren lässt und speichert. Dann braucht man für einen ID-Wechsel zwar nur die Daten der App löschen, aber man hat ein identisches Verfahren auf allen Plattformen. Wenn man zur ID noch einen Handshake mit TAN-Austausch ausführt, dann kann mann sogar Kopien von IDs erkennen und sie deaktivieren. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:01 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