我正在開發基於Firemonkey的基本MP3播放器Android應用程序(Delphi XE6),其中MP3文件將在安裝後添加到SD卡(外部)。因此,我需要我的應用程序能夠搜索這些特定的MP3文件,一旦用戶在其設備上激活/打開應用程序。如何使用Firemonkey在Android設備上查找特定文件?
文件搜索的代碼很好,但我的問題是將文件保存在SD卡上以及如何在代碼中查找文件夾/目錄位置。
這個概念應該非常簡單,但是Firemonkey(看起來)會讓它變得比預想的要難得多。
這裏是我的文件搜索代碼:
var
sr : TSearchRec;
i : Integer;
Storage : String;
begin
//List files found on SD Card on device only, for now
Storage := TPath.Combine(TPath.GetMusicPath, '*.mp3');
if FindFirst(Storage, faAnyfile, sr) = 0 then
begin
repeat
listSessions.Items.Add(sr.Name);
until FindNext(sr) <> 0;
end;
FindClose(sr);
end;
所有我想要知道的是,對於所有的愛是善良純潔的,我在哪裏可以點搜索?上述位置不提供任何歡樂,也不是通用的GetMusicPath結果。我無法真正對目錄路徑進行硬編碼,因爲那樣只會在一個android設備上工作。我需要這個一般工作在所有的Android設備上。
TPath.GetDocumentsPath,TPAth.GetMusicPath和其他所有喜歡它的人可以得到我所有的上帝被遺棄的地點,我甚至無法在File Explorer中找到它。例如,我的「通用」音樂位置(這是我想使用的位置)返回此路徑:/storage/emulated/0/Android/data/com.embarcadero./files/Music。
我做錯了什麼?