2012-01-04 6 views
0

物理ファイルを実際に削除する方法は?以下のコードは、ファイルを正常に削除しました(ファイルリストを再ロードすると、ファイルはなくなります)。しかし、 "PC"エクスプローラでsdcardを開くと、ファイルはまだ残っています。ファイルは削除されましたが、実際のファイルは削除されていません。 (音が間違っている)

public boolean delete(String filename){ 
    String path = Environment.getExternalStorageDirectory() + "/" + mContext.getPackageName() + "/"; 
    File file = new File(path + filename); 
    return file.delete() 
} 

私はメディアスキャナを追加しようとしましたが、それでも問題はありません。以下のメディアスキャナ用です:

あなたの開発コード については
private void mMakeFilePublic(File file) { 
    MediaScannerConnection.scanFile(mContext, 
      new String[] { file.toString() }, null, 
      new MediaScannerConnection.OnScanCompletedListener() { 
     public void onScanCompleted(String path, Uri uri) { 
      Log.i("ExternalStorage", "Scanned " + path + ":"); 
      Log.i("ExternalStorage", "-> uri=" + uri); 
     } 
    }); 
} 

答えて

1

を使用している場合は、許可を与えなければならない> 1.6 SDK

はアンドロイド許可使用しています:名= "android.permission.WRITE_EXTERNAL_STORAGE

また、あなたは別の方法を試すことができます

public abstract boolean deleteFile (String name) 

上記レゾールするのを助けることができますあなたの問題。

+0

deleteFile(String name)は内部ファイルを削除するためのものですか?私は以前にそれを試して、セパレータ( "/")を受け入れません。許可は既に以前に追加されました。 – quiel

+0

ハードコードセパレータの代わりにFile.seperatorを使用します。 –

関連する問題