2014-12-15 3 views
7

Недавно я обнаружил, что изображения, сделанные с помощью Hangouts Google, иногда добавляют: nopm: до конца имени файла. Например, DCIM/Camera/IMG_20141212_123123: nopm: .jpgИзображения с: nopm: in filename

Это вызывает у меня массу проблем с анализом. Одним из самых больших было то, что когда я создал объект File из этого пути и попытался file.exists(), я ПОЛУЧИЛ ЛОЖЬ !!!!!

Моя конечная цель в том, что когда я сталкиваюсь с одним из следующих: nopm: images, я бы просто переименовал его на устройстве и продолжил обработку в обычном режиме.

Вот мой код:

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); 
    } 
} 
+0

Помню, что я столкнулся с подобной проблемой при отправке файлов .apk в тестеры. Если пользователь загрузил файл .apk более одного раза, имя будет изменено с 'foo_bar.apk' на' foo_bar.apk (1) ', что заставило бы android не распознавать его как действительный apk для установки. :/ –

+0

Зачем даже беспокоиться о nopm, просто удалите часть ':' s «sanitizing» – Blundell

+1

Невозможно сделать это @Blundell, чтобы переименовать файл, он должен существовать согласно File.exists, который , возвращает false в случае файла, содержащего двоеточие в нем –

ответ

0

Ее выглядеть 12 часа часов вечера/утра. Час на фотографии - 12:31:23, и: nopm: может означать не pm (так, am), или это настроено в другом типе, как 24-часовой.

Вы пытались проверить, нет ли часов на фотографиях без: nopm: is over 12:00 am?

+1

Я не проверял это, но даже если то, что вы говорите, правильно, это не помогло бы ситуации, к сожалению ... –

+0

Время не имеет к этому никакого отношения. Имена файлов используются в 24-часовом формате. –

1

Прочитайте это:

https://android.stackexchange.com/questions/98266/why-is-there-nopm-in-some-photo-file-names

Нет решения также. Но, возможно, это способ для Hangouts Google избежать фотографии из-за управления другими утилитами. Я ищу: nopm: когда я пытался скопировать какую-то фотографию, которую я взял, когда играл в Ingress и поделился с Google Hangouts. Я подошел к вашему вопросу, а затем этот ответ в андроиде перечислил второй. Я считаю, что ответ «No Photo Manager» более разумный, чем «AM/PM».

Если это действительно так, лучший способ будет вручную удалить эти «: nopm:», прежде чем вы сможете управлять с помощью инструментов. Но в то же время другие инструменты, такие как «Dropbox», также могут создавать резервные копии этих фотографий.

+0

Спасибо. Я действительно видел этот пост раньше. Как вы упомянули, он не дает никакого полезного понимания какого-либо потенциального решения, к сожалению. –