내 응용 프로그램을 시작할 때 하위 폴더가있는 sdcard에서 폴더를 삭제하려고하는데 삭제할 경로를 설정하는 방법을 모르겠다. 비어 있지 않은 폴더를 sdcard에서 삭제하기
는이 같은이 폴더 삭제하는 간단한 작업을 생성 :package org.android.test;
import java.io.File;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class DelSD extends Activity {
File dir = new File(android.os.Environment
.getExternalStorageDirectory().getPath(),
"/TEST");
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
void DeleteRecursive(File dir)
{
Log.d("DeleteRecursive", "DELETEPREVIOUS TOP" + dir.getPath());
if (dir.isDirectory())
{
String[] children = dir.list();
for (int i = 0; i < children.length; i++)
{
File temp = new File(dir, children[i]);
if(temp.isDirectory())
{
Log.d("DeleteRecursive", "Recursive Call" + temp.getPath());
DeleteRecursive(temp);
}
else
{
Log.d("DeleteRecursive", "Delete File" + temp.getPath());
boolean b = temp.delete();
if(b == false)
{
Log.d("DeleteRecursive", "DELETE FAIL");
}
}
}
dir.delete();
}
}
}
을 내 매니페스트에 추가 :
uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
하지만 여전히 이동합니다. 아직 sdcard에 내 TEST 폴더가 있습니다. 에뮬레이터와 장치 2.2에서이 활동을 테스트했습니다. 나는 "DIR"다른 뭔가 "무효 DeleteRecursive (파일 DIR)"로 변경하는 경우
"에 대해File dir = new File(android.os.Environment
.getExternalStorageDirectory().getPath(),
"/TEST");
불평하지 않기 때문에 : 나는 내 경로를 설정하는 방법을 얻을 그나마
함께 삭제 될 dir "이 설정되지 않았습니다! 그래서 이것은 전혀 작동하지 않습니다. 어떤 췌장?
'새로운 파일 (. android.os.Environment.getExternalStorageDirectory() getPath(), "테스트");'나를 위해 작동합니다. 'DeleteRecursive'를 호출하고 있습니까? 코드에서 찾을 수 없습니다 ... – FrVaBe
[SD 카드의 폴더 삭제] 가능한 복제본 (http://stackoverflow.com/questions/5701586/delete-a-folder-on-sd-card) –