![]() |
Android Intent für verschiedene Dateitypen?
Hallo,
um verschiedene Dateitypen auf dem Handy anzeigen zu können, brauche ich verschiedene Intents:
Delphi-Quellcode:
... also mal "image/...", mal "application/..." oder "text/..."
if (fileext = 'JPG') or (fileext = 'JPEG') then
Intent.setDataAndType(StrToJURI(filename), StringToJString('image/jpeg')) else if fileext = 'PDF' then Intent.setDataAndType(StrToJURI(filename), StringToJString('application/pdf')) else if fileext = 'TXT' then Intent.setDataAndType(StrToJURI(filename), StringToJString('text/plain')) Gibt es da was "allgemeingültiges" was gleich die richtigen DataTypes des Intents einstellt? Käme bei obigem Code vielleicht noch mp3 dazu, müsste ich einen weiteren if-Zweig mit "audio/..." aufmachen :-( Das muss doch besser / einfacher / allgemeingültiger gehen? Ciao Stefan |
AW: Android Intent für verschiedene Dateitypen?
Viele IFs sind sowieso schon ein Designfehler.
Entweder du machst dir ein/zwei Arrays.
Delphi-Quellcode:
Man könnte das auch in eine Datei schreiben und diese als Ressource in die EXE linken
const
FileExt: array[0..7] of string = ('', '.txt', '.html', '.css', '.js', '.gif', '.jpeg', '.png'); ContentType: array[0..7] of string = ('application/octet-stream', 'text/plain', 'text/html', 'text/css', 'text/js', 'image/gif', 'image/jpeg', 'image/png'); Oder du fragst Andere, welche bereits solch eine Liste haben z.B. TIdMimeTable (IdGlobalProtocols.pas), TWebFileExtensions (WebFileDispatcher.pas) oder UrlMon.pas Eventuell kann man auch Android nach sowas fragen. |
AW: Android Intent für verschiedene Dateitypen?
Delphi-Quellcode:
function GetMimeType(AFilename: String): JString;
var jstr: JString; begin // MIME-Type auslesen result := StringToJString('application/pdf'); // Standard jstr := TJMimeTypeMap.JavaClass.getFileExtensionFromUrl(StringToJString(AFilename)); if jstr <> nil then begin jstr := TJMimeTypeMap.JavaClass.getSingleton.getMimeTypeFromExtension(jstr); if jstr <> nil then result := jstr; end; end; |
AW: Android Intent für verschiedene Dateitypen?
Im neuen 10.2.3 würde es sogar eine Klasse dafür geben (System.Net.Mime.TMimeTypes -> hier dann die Default-Eigenschaft nehmen, um eine Instanz zu erhalten).
|
AW: Android Intent für verschiedene Dateitypen?
Ich kann leider (oder Gott sei Dank?) nur auf Berlin 10.1 Update 2 zurückgreifen :-)
Den Tip von bra schau ich mir an. Ciao Stefan |
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