Я испробовал все эти решения, но в Android 6 мне не повезло.
В конце концов я нашел этот фрагмент кода, который работал нормально.
public static void deleteFileFromMediaStore(final ContentResolver contentResolver, final File file) {
String canonicalPath;
try {
canonicalPath = file.getCanonicalPath();
} catch (IOException e) {
canonicalPath = file.getAbsolutePath();
}
final Uri uri = MediaStore.Files.getContentUri("external");
final int result = contentResolver.delete(uri,
MediaStore.Files.FileColumns.DATA + "=?", new String[]{canonicalPath});
if (result == 0) {
final String absolutePath = file.getAbsolutePath();
if (!absolutePath.equals(canonicalPath)) {
contentResolver.delete(uri,
MediaStore.Files.FileColumns.DATA + "=?", new String[]{absolutePath});
}
}
}
Я также проверил это в Android 4.4 и 5.1, и он отлично работает.
Он использует этот код, но он не является родным для этого языка.
В 2005 году и позже вы можете вызывать функцию HashBytes () . В 2000 году ближайшим вариантом является pwdencrypt / pwdcompare , хотя у этих функций есть свои подводные камни (прочтите комментарии к ссылке).
Нет, нет собственной команды TSQL для генерации хешей MD5 в SQL Server 2000.
В 2005 году и выше вы можете использовать функцию HashBytes
: http://msdn.microsoft.com/en-us/library/ms174415.aspx
В md5 нет ничего волшебного, вы можете реализовать его как чистую функцию tsql, если хотите. Не уверен, что в tsql было бы весело, но ничто не должно мешать вам сделать это :)