2016-10-01 4 views
0

디렉토리를 열고 싶습니다. 그 후 파일을 선택하고 삭제할 수 있어야합니다.인 텐트를 통해 파일을 선택한 다음 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에 전달하기 위해이 디렉토리를 엽니 다 내 코드? 당신이 the documentation for ACTION_GET_CONTENT을 읽으면

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

답변

0

첫째, 당신은 볼 수 있습니다 :

입력 : getType로()를 검색하여 원하는 MIME 유형입니다. 반환 된 데이터의 원래 위치가 제한되어 있지 않으므로 의도에 URI가 제공되지 않습니다.

그래서, 첫 번째 코드는 몇 가지 장치에서 작동합니다 (강조는 추가).

두 번째로 ACTION_GET_CONTENT은 삭제할 수있는 파일 하나를 반환하지 않아도됩니다.

There are many file-picker libraries available for Android. 하나를 사용하십시오. 그들은 File을 돌려 주어야하며 File에서 delete()으로 전화 할 수 있습니다.