Ostatnio odkryłem, że zdjęcia robione za pomocą Google Hangouts dodają czasami: nopm: na końcu nazwy pliku. Na przykład, DCIM/Camera/IMG_20141212_123123: nopm: .jpgObrazy z: nopm: w nazwie pliku
To jest przyczyną mnie mnóstwo spraw analizowania. Jedną z największych jest to, że kiedy utworzyłem obiekt File z tej ścieżki i wypróbowałem file.exists(), otrzymuję FAŁSZ !!!!!
mój koniec celem jest to, że kiedy napotkasz jeden z tych: nopm: obrazy, chciałbym po prostu zmienić jego nazwę na urządzeniu i kontynuować przetwarzanie normalnie.
Oto mój kod:
public static void checkForNopm(File file) {
final String path = file.getPath();
if (path.contains(":nopm:")) {
final File newfile = new File(file.getPath().replace(":nopm:",""));
file.renameTo(newfile);
}
}
Pamiętam, jak napotykałem podobny problem podczas wysyłania plików .apk do testerów. Jeśli użytkownik pobrał plik .apk więcej niż raz, nazwa zostanie zmieniona z "foo_bar.apk" na "foo_bar.apk (1)", co spowoduje, że android nie rozpozna go jako poprawnego apk do zainstalowania. :/ –
Po co zawracać sobie głowę nopmem po prostu usuń ':' z całej części "odkażania" – Blundell
Nie można tego zrobić @Blundell, aby zmienić nazwę pliku, musi istnieć jak na File.exists, który , zwraca false w przypadku pliku zawierającego dwukropek w nim –