¿Cómo elimino archivos mediante programación en Android?

Estoy en 4.4.2, tratando de eliminar un archivo (imagen) a través de uri. Aquí está mi código:

File file = new File(uri.getPath());
boolean deleted = file.delete();
if(!deleted){
      boolean deleted2 = file.getCanonicalFile().delete();
      if(!deleted2){
           boolean deleted3 = getApplicationContext().deleteFile(file.getName());
      }
}

En este momento, ninguna de estas funciones de eliminación está eliminando el archivo. También tengo esto en mi AndroidManifest.xml:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />

Respuestas a la pregunta(4)

Su respuesta a la pregunta