Android: Erhalten Sie eine Datei -URI von einem Inhalts -URI?

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Android: Erhalten Sie eine Datei -URI von einem Inhalts -URI?

by Anonymous » 23 Aug 2025, 23:31

In meiner App soll der Benutzer eine Audiodatei auswählen, die die App dann übernimmt. Das Problem ist, dass ich damit, dass die App das tut, was ich mit den Audiodateien zu tun habe, das URI im Dateiformat sein kann. Wenn ich Androids native Musikplayer von Android benutze, um nach der Audio-Datei in der App zu stöbern, ist der URI ein Content URI, der so aussieht: < /p>

Code: Select all

content://media/external/audio/media/710
< /code>
Verwenden Sie jedoch die beliebte Dateimanager-Anwendung Astro: < /p>
file:///sdcard/media/audio/ringtones/GetupGetOut.mp3
< /code>
Letzteres ist für mich viel zugänglicher, um mit der App mit der Audiodatei zu funktionieren, die der Benutzer unabhängig von dem Programm wählt, das sie zum Durchsuchen ihrer Sammlung verwenden. Meine Frage ist also, gibt es eine Möglichkeit, den Inhalt zu konvertieren: // 
Stil -URI in eine Datei: // URI? Was würden Sie mir ansonsten empfehlen, um dieses Problem zu lösen? Hier ist der Code, der den Wähler aufruft, als Referenz: < /p>

Code: Select all

Intent ringIntent = new Intent();
ringIntent.setType("audio/mp3");
ringIntent.setAction(Intent.ACTION_GET_CONTENT);
ringIntent.addCategory(Intent.CATEGORY_OPENABLE);
startActivityForResult(Intent.createChooser(ringIntent, "Select Ringtone"), SELECT_RINGTONE);
< /code>
Ich mache Folgendes mit dem Inhalt Uri: < /p>
m_ringerPath = m_ringtoneUri.getPath();
File file = new File(m_ringerPath);
Machen Sie dann ein paar FileInputStream -Dinge mit dieser Datei.

Top