2017-06-04 5 views
0

私のギャラリーから画像を削除しようとしています。一部の人にとって、残念ながらない私のために働くようだ
android : deleting an imageAndroidのfile.delete()は読み込み不能な小さなファイルを残す

:私はここからもらったコードを使用しています。私がそれを実行すると、判読不能な小さなファイルが残っています。私はAndroid 4.1.2です。ここで

は、コードは次のとおりです。

public void deleteImage(File fdelete) { 
    //String file_dj_path = Environment.getExternalStorageDirectory() + "/ECP_Screenshots/abc.jpg"; 
    //File fdelete = new File(file_dj_path); 
    if (fdelete.exists()) { 
     if (fdelete.delete()) { 
      Log.e("-->", "file Deleted :" + fdelete); 
      callBroadCast(); 
     } else { 
      Log.e("-->", "file not Deleted :" + fdelete); 
     } 
    } 
} 

public void callBroadCast() { 
    if (Build.VERSION.SDK_INT >= 14) { 
     Log.e("-->", " >= 14"); 
     MediaScannerConnection.scanFile(this, new String[]{Environment.getExternalStorageDirectory().toString()}, null, new MediaScannerConnection.OnScanCompletedListener() { 
      /* 
      * (non-Javadoc) 
      * @see android.media.MediaScannerConnection.OnScanCompletedListener#onScanCompleted(java.lang.String, android.net.Uri) 
      */ 
      public void onScanCompleted(String path, Uri uri) { 
       Log.e("ExternalStorage", "Scanned " + path + ":"); 
       Log.e("ExternalStorage", "-> uri=" + uri); 
      } 
     }); 
    } else { 
     Log.e("-->", " < 14"); 
     sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, 
       Uri.parse("file://" + Environment.getExternalStorageDirectory()))); 
    } 
} 
+1

この特定の答えを試しましたか? https://stackoverflow.com/a/36296974/320111 –

+0

問題は3回、奇妙にしか動作せず、それ以降はアプリケーションを再起動する必要がありますが、それはうまく動作しませんでした。 – Melo

答えて

0

あなたがゼロを意味

小さな読めないファイル

によって場合、あなたはこのような何か行うことができます。

long fileSize = fdelete.length(); 
if (fdelete.exists() || fileSize==0){ 
    fdelete.delete(); 
} 

次にd o

if (fdelete.delete()) { 
     Log.e("-->", "file Deleted :" + fdelete); 
     callBroadCast(); 
    } else { 
     Log.e("-->", "file not Deleted :" + fdelete); 
    } 
関連する問題