In meiner Android-Anwendung verwende ich den folgenden Code, um die MP3-Dateien zum Auswählen und Hochladen aufzulisten.
Ich möchte wissen, ist es möglich, die Dateien mit ihrer Dauer zusammen mit ihrem Typ zu filtern.
Ich glaube nicht, oder zumindest nicht wie du angefangen hast.
Ich glaube, sobald Sie den Intent-Chooser erstellt und einen anderen Datei-Manager geöffnet haben, können Sie nicht mehr kontrollieren, welche Daten diesen bestimmten Datei-Manager anzeigen, wie nach bestimmten Kriterien gefiltert.
Die Lösung, die ich hier sehe, besteht darin, eine Methode zu erstellen, mit der alle Audiodateien zurückgibt sdcard in ein Array ein, dann verwenden Sie einen Filter, um die Erweiterung Ihrer Dateien (.mp3) in Verbindung mit einer Methode zu bestimmen, die erhält die Dauer einer Datei .
Fügen Sie den gefilterten Inhalt einem neuen Array hinzu und machen Sie dann mit Ihren gefilterten Dateien, was Sie wollen, z. B. in einem ListView
anzeigen und lassen Sie den Benutzer diejenigen auswählen, die er hochladen möchte.
Ein Pseudocode sieht so aus:
%Vor% Zeigen Sie dann den Inhalt von filteredFiles
in ListView
an und stellen Sie die entsprechende Logik zum Auswählen / Hochladen der Datei bereit.
AFAIK, das ist nicht möglich. Der Intent-Empfänger kann einen MIME-Typ wie audio/*
Zweck der MIME-Typen ist es, den Medientyp anzugeben, den Sie erwarten / anfordern / annehmen. Es unterstützt keine Attribute (AFAIK)
Selbst wenn es so wäre, ich glaube nicht, dass mehr als eine Handvoll Android-Anwendungen es unterstützen würden, um Ihr Szenario zu erfüllen.
Sie werden ein besseres Glück haben, indem Sie anwendungsspezifische "zusätzliche" Daten mit Intent.putExtra (String-Name, Bundle-Wert) , wenn Sie eine App finden, die das Akzeptieren solcher zusätzlichen Daten unterstützt. Die populäre ES File Explorer App scheint dies nicht zu unterstützen, also glaube ich nicht, dass dies der Fall sein wird Arbeit für die Mehrheit Ihrer Benutzer.
Tags und Links android