As written by me here:
I had EXACTLY the same problem. I couldn't find a solution else where. The only solution was to use a .nomedia file in the /sdcard/DCIM/Facebook
directory and moving the *.jpgs to another folder. I had made a Tasker task referring to a reddit post in /r/tasker. Here is the description and the XML for importing it. You have to create the %destpart
and add a .nomedia
in %sourcepath
for it to work. You can run this task in a profile as an exit task for Facebook and as an entry task for other messenger apps like Telegram/Whatsapp, etc. so you get your memes right!
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 ]
Remember to have .nomedia in %sourcepath
Here's the XML for direct import:
<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>
Pro Tip: Enable A25 just for testing if you want to.
Edit: Code corrected and updated. (1 memes moved was triggering my OCD.)
Edit 2: Had some problems, corrected again.