Я хотел бы задать вопрос о приложении facebook (но оно не единственное, которое делает это). В настоящее время, когда я сохраняю любую фотографию из Facebook, она сохраняется в /DCIM/Facebook.
Теперь меня обычно не волнует, где хранятся фотографии, пока приложение «Галерея» правильно их сортирует, но тот факт, что они попадают в папку DCIM, приводит к неправильному поведению с приложением Google Фото.
Google Photos обрабатывает все эти сохраненные сообщения Facebook как «Фото с камеры» и пытается синхронизировать их с сервером, чего я, очевидно, не хочу (я храню фотоальбомы на GPh, мне не нужны мемы среди них), и я не могу улучшить синхронизацию дополнительных параметров (для синхронизации выбрана только «Камера»).
Есть ли способ исключить эти загруженные изображения из синхронизации? Или заставить Facebook сохранять свои загрузки, скажем, в /Pictures/Facebook?
То же самое, что и выше, также происходит в DCIM/Screenshots при вырезании частей экрана.
Телефон Samsung Galaxy Note 4, Android 6.0.1
заранее спасибо
У меня была ТОЧНО такая же проблема. Я не мог найти решение в другом месте. Единственным решением было использовать файл .nomedia в /sdcard/DCIM/Facebook
каталоге и переместить *.jpg в другую папку. Я сделал задачу Tasker, ссылаясь на сообщение Reddit в /r/tasker . Вот описание и XML для его импорта. Вы должны создать %destpart
и добавить, .nomedia
чтобы %sourcepath
он работал. Вы можете запустить эту задачу в профиле как задачу выхода для Facebook и как задачу входа для других приложений для обмена сообщениями, таких как Telegram/Whatsapp и т. д., чтобы ваши мемы получались правильно!
The Meme Mover (3)
A1: Variable Set [ Name:%sourcepath To:/sdcard/DCIM/Facebook/ Recurse Variables:Off Do Maths:Off Append:Off ]
A2: Variable Set [ Name:%destpath To:/sdcard/Pictures/Facebook/ Recurse Variables:Off Do Maths:Off Append:Off ]
A3: Variable Set [ Name:%suffix To:(1) Recurse Variables:Off Do Maths:Off Append:Off ]
A4: Variable Set [ Name:%counter To:0 Recurse Variables:Off Do Maths:On Append:Off ]
A5: List Files [ Dir:%sourcepath Match:*.jpg/*.png/*.jpeg/*.gif/*.3gp Include Hidden Files:Off Use Root:Off Sort Select:Alphabetic Variable:%filestomove ]
A6: For [ Variable:%thispathfile Items:%filestomove() ]
A7: Variable Split [ Name:%thispathfile Splitter:/ Delete Base:Off ]
A8: Variable Set [ Name:%len To:%thispathfile(#) Recurse Variables:Off Do Maths:Off Append:Off ]
A9: Variable Set [ Name:%filename To:%thispathfile(%len) Recurse Variables:Off Do Maths:Off Append:Off ]
A10: Variable Clear [ Name:%exists Pattern Matching:Off ]
A11: Test File [ Type:Type Data:%destpath%filename Store Result In:%exists Use Root:Off Continue Task After Error:On ]
A12: If [ %exists !Set ]
A13: Move [ From:%thispathfile To:%destpath%filename Use Root:Off ]
A14: Scan Card [ File:%destpath%filename ]
A15: Else
A16: Variable Split [ Name:%filename Splitter:. Delete Base:Off ]
A17: Variable Set [ Name:%filename1 To:%filename1%suffix Recurse Variables:Off Do Maths:Off Append:Off ]
A18: Variable Join [ Name:%filename Joiner:. Delete Parts:Off ]
A19: Move [ From:%thispathfile To:%destpath%filename Use Root:Off ]
A20: Scan Card [ File:%destpath%filename ]
A21: End If
A22: Variable Add [ Name:%counter Value:1 Wrap Around:0 ]
A23: End For
A24: If [ %counter eq 0 ]
A25: [X] Flash [ Text:No memes? Sad. Long:On ]
A26: Else If [ %counter eq 1 ]
A27: Flash [ Text:%counter meme moved! Long:On ]
A28: Else
A29: Flash [ Text:%counter memes moved! Long:On ]
Не забудьте указать .nomedia в %sourcepath
Вот XML для прямого импорта:
<TaskerData sr="" dvi="1" tv="4.9u4">
<Task sr="task3">
<cdate>1489093858387</cdate>
<edate>1489219027762</edate>
<id>3</id>
<nme>The Meme Mover</nme>
<pri>100</pri>
<Kid sr="Kid">
<launchID>3</launchID>
<pkg>me.regalstreak.movefb</pkg>
<vnme>1.0</vnme>
</Kid>
<Action sr="act0" ve="7">
<code>547</code>
<Str sr="arg0" ve="3">%sourcepath</Str>
<Str sr="arg1" ve="3">/sdcard/DCIM/Facebook/</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
</Action>
<Action sr="act1" ve="7">
<code>547</code>
<Str sr="arg0" ve="3">%destpath</Str>
<Str sr="arg1" ve="3">/sdcard/Pictures/Facebook/</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
</Action>
<Action sr="act10" ve="7">
<code>342</code>
<se>false</se>
<Int sr="arg0" val="4"/>
<Str sr="arg1" ve="3">%destpath%filename</Str>
<Str sr="arg2" ve="3">%exists</Str>
<Int sr="arg3" val="0"/>
</Action>
<Action sr="act11" ve="7">
<code>37</code>
<ConditionList sr="if">
<Condition sr="c0" ve="3">
<lhs>%exists</lhs>
<op>13</op>
<rhs></rhs>
</Condition>
</ConditionList>
</Action>
<Action sr="act12" ve="7">
<code>400</code>
<Str sr="arg0" ve="3">%thispathfile</Str>
<Str sr="arg1" ve="3">%destpath%filename</Str>
<Int sr="arg2" val="0"/>
</Action>
<Action sr="act13" ve="7">
<code>459</code>
<Str sr="arg0" ve="3">%destpath%filename</Str>
</Action>
<Action sr="act14" ve="7">
<code>43</code>
</Action>
<Action sr="act15" ve="7">
<code>590</code>
<Str sr="arg0" ve="3">%filename</Str>
<Str sr="arg1" ve="3">.</Str>
<Int sr="arg2" val="0"/>
</Action>
<Action sr="act16" ve="7">
<code>547</code>
<Str sr="arg0" ve="3">%filename1</Str>
<Str sr="arg1" ve="3">%filename1%suffix</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
</Action>
<Action sr="act17" ve="7">
<code>592</code>
<Str sr="arg0" ve="3">%filename</Str>
<Str sr="arg1" ve="3">.</Str>
<Int sr="arg2" val="0"/>
</Action>
<Action sr="act18" ve="7">
<code>400</code>
<Str sr="arg0" ve="3">%thispathfile</Str>
<Str sr="arg1" ve="3">%destpath%filename</Str>
<Int sr="arg2" val="0"/>
</Action>
<Action sr="act19" ve="7">
<code>459</code>
<Str sr="arg0" ve="3">%destpath%filename</Str>
</Action>
<Action sr="act2" ve="7">
<code>547</code>
<Str sr="arg0" ve="3">%suffix</Str>
<Str sr="arg1" ve="3">(1)</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
</Action>
<Action sr="act20" ve="7">
<code>38</code>
</Action>
<Action sr="act21" ve="7">
<code>888</code>
<Str sr="arg0" ve="3">%counter</Str>
<Int sr="arg1" val="1"/>
<Int sr="arg2" val="0"/>
</Action>
<Action sr="act22" ve="7">
<code>40</code>
</Action>
<Action sr="act23" ve="7">
<code>37</code>
<ConditionList sr="if">
<Condition sr="c0" ve="3">
<lhs>%counter</lhs>
<op>0</op>
<rhs>0</rhs>
</Condition>
</ConditionList>
</Action>
<Action sr="act24" ve="7">
<code>548</code>
<on>false</on>
<Str sr="arg0" ve="3">No memes? Sad.</Str>
<Int sr="arg1" val="1"/>
</Action>
<Action sr="act25" ve="7">
<code>43</code>
<ConditionList sr="if">
<Condition sr="c0" ve="3">
<lhs>%counter</lhs>
<op>0</op>
<rhs>1</rhs>
</Condition>
</ConditionList>
</Action>
<Action sr="act26" ve="7">
<code>548</code>
<Str sr="arg0" ve="3">%counter meme moved!</Str>
<Int sr="arg1" val="1"/>
</Action>
<Action sr="act27" ve="7">
<code>43</code>
</Action>
<Action sr="act28" ve="7">
<code>548</code>
<Str sr="arg0" ve="3">%counter memes moved!</Str>
<Int sr="arg1" val="1"/>
</Action>
<Action sr="act3" ve="7">
<code>547</code>
<Str sr="arg0" ve="3">%counter</Str>
<Str sr="arg1" ve="3">0</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="1"/>
<Int sr="arg4" val="0"/>
</Action>
<Action sr="act4" ve="7">
<code>412</code>
<Str sr="arg0" ve="3">%sourcepath</Str>
<Str sr="arg1" ve="3">*.jpg/*.png/*.jpeg/*.gif/*.3gp</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3">%filestomove</Str>
</Action>
<Action sr="act5" ve="7">
<code>39</code>
<Str sr="arg0" ve="3">%thispathfile</Str>
<Str sr="arg1" ve="3">%filestomove()</Str>
</Action>
<Action sr="act6" ve="7">
<code>590</code>
<Str sr="arg0" ve="3">%thispathfile</Str>
<Str sr="arg1" ve="3">/</Str>
<Int sr="arg2" val="0"/>
</Action>
<Action sr="act7" ve="7">
<code>547</code>
<Str sr="arg0" ve="3">%len</Str>
<Str sr="arg1" ve="3">%thispathfile(#)</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
</Action>
<Action sr="act8" ve="7">
<code>547</code>
<Str sr="arg0" ve="3">%filename</Str>
<Str sr="arg1" ve="3">%thispathfile(%len)</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
</Action>
<Action sr="act9" ve="7">
<code>549</code>
<Str sr="arg0" ve="3">%exists</Str>
<Int sr="arg1" val="0"/>
</Action>
<Img sr="icn" ve="2">
<cls>com.facebook.katana.LoginActivity</cls>
<pkg>com.facebook.katana</pkg>
</Img>
</Task></TaskerData>
Скопируйте приведенный выше код и сохраните файл в The Meme Mover.tsk.xml
формате /sdcard/Tasker/tasks
. Затем перейдите в Tasker, нажмите и удерживайте «Задачи» и импортируйте это.
Совет для профессионалов: включите A25 только для тестирования, если хотите.
Изменить: код исправлен и обновлен. (1 перемещенный мем вызвал мое обсессивно-компульсивное расстройство.)
Редактировать 2: Были некоторые проблемы, исправлено снова.
Кто-нибудь еще ищет это в будущем и не знает, как использовать Tasker, или ему трудно понять.
Надеюсь, у вас нет пользовательского интерфейса Meme или Samsung, который убивает все в фоновом режиме. Если это так, проверьте это .
Империя Э
эревен
Империя Э
дт192
Панагисс