2016-10-01 34 views
0

我想打開一個目錄,之後我應該能夠選擇一個文件然後刪除它。這是我的代碼打開的目錄:通過Intent選擇文件然後刪除onActivityResult

public void openDirectory() { 
     Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
     Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getAbsolutePath() + "/drugdiy/doc"); 
     intent.setDataAndType(uri, "*/*"); 
     startActivityForResult(Intent.createChooser(intent, "Open folder"), 0); 
    } 

我堅持如何通過urionActivityResult,這樣我可以刪除嗎?

public void onActivityResult(int requestCode, int resultCode, Intent data){ 
     switch (requestCode) { 
      case 0: { 
       Uri uri = 
       File file = new File(uri.getPath()); 
       file.delete(); 
      } 
     } 
    } 

回答

0

首先,如果你讀the documentation for ACTION_GET_CONTENT,您將看到:

輸入:的getType()爲所需的MIME類型來檢索。 請注意,在意圖中沒有提供URI,因爲返回的數據最初來自哪裏沒有限制。

(強調)

所以,你的第一個代碼片段將在幾個設備上工作。

其次,ACTION_GET_CONTENT不必爲您返回一個文件,更不用說可以刪除的文件了。

There are many file-picker libraries available for Android。使用一個。他們應該給你一個File回來,然後你可以撥打電話delete()File