2015-09-03 86 views
0

在我的應用程序中,我想讓用戶從文件資源管理器應用程序中選擇文件。我已經能夠做到這一點通過使用下面的代碼(在C#/ Xamarin):通過Android文件瀏覽器中的文件類型篩選

private void AddFile() 
    { 
     if (!IsFileExplorerAppInstalled()) 
     { 
      Toast toast = Toast.MakeText(this, "You must install a File Explorer app to add a file", ToastLength.Long); 
      toast.Show(); 
      return; 
     } 

     Intent intent = new Intent(Intent.ActionGetContent); 
     intent.SetType("file/*"); 
     StartActivityForResult(intent, IntConstants.GET_FILE_FROM_EXPLORER_KEY); 
    } 

但是,有時我希望用戶只能夠選擇一個特定類型的文件 - 例如mp3文件。是否可以將「過濾器列表」傳遞給文件資源管理器應用程序,或者通常不支持。我一直無法找到任何文件表明你可以做到這一點。 謝謝。

回答

5

intent.SetType("file/*");裝置選擇任何文件(由*描繪)。要僅允許某些文件,請將星號更改爲您選擇的星號。

intent.SetType("audio/mpeg3"); 

intent.SetType("audio/x-mpeg3"); //Should also work 

這是)普通MIME類型的列表,你可以在的setType設置(:

image/jpeg 
audio/mpeg4-generic 
text/html 
audio/mpeg 
audio/aac 
audio/wav 
audio/ogg 
audio/midi 
audio/x-ms-wma 
video/mp4 
video/x-msvideo 
video/x-ms-wmv 
image/png 
image/jpeg 
image/gif 
.xml ->text/xml 
.txt -> text/plain 
.cfg -> text/plain 
.csv -> text/plain 
.conf -> text/plain 
.rc -> text/plain 
.htm -> text/html 
.html -> text/html 
.pdf -> application/pdf 
.apk -> application/vnd.android.package-archive 

你可以找到MIME類型這裏的完整列表:

http://www.sitepoint.com/web-foundations/mime-types-complete-list/

0

設定使用此代碼類型:

intent.setType("file/.mp3"); 
相關問題