saf api를 참조해서 파일을 저장하고 삭제하는 기능을 구현하고 있습니다.
현재 파일을 삭제 한 후, 왼쪽의 메뉴를 열었을 때 내장/외장메모리들이 팝업됩니다.
문제는, 파일을 삭제 한 후 왼쪽의 메뉴를 보면 용량이 갱신되지 않습니다.ㅠ
sd카드 저장소/10GB남음 이런식으로 출력이 되는데요.. 이게 변하질 않습니다.
확인해보니 해당 액티비티가 finish되어도 갱신되지 않구요
앱 자체를 껏다켜야 갱신이 되네요.혹시 몰라서 소스도 첨부합니다..ㅠㅠ
이런 정보는 갱신을 못하는건가요..?????
아니면 갱신하는데 시간이 오래걸리는 것인가요..?
static final int DELETE_REQ = 27;
@Override
protected void onCreate(Bundle savedInstanceState)
{
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
Intent dintent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
dintent.setType("*/*");
startActivityForResult(dintent, DELETE_REQ);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK)
{
final Uri uri = data.getData();
if (requestCode == DELETE_REQ)
{
if (data.getData() != null)
{
Log.e("DELETE_REQ...", "DELETE_REQ...");
// File f = new File(getFilesDir(),
// uri.getLastPathSegment());
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
alertDialogBuilder.setMessage("삭제하시겠습니까?").setCancelable(false)
.setPositiveButton("예", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// finish();
deleteFile(uri);
}
}).setNegativeButton("아니오", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// 다이얼로그를 취소한다
dialog.cancel();
Intent dintent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
dintent.setType("*/*");
startActivityForResult(dintent, DELETE_REQ);
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
}
}
}
else
{
finish();//이 액티비티를 종료한다.
}
}//onActivityResult