Ez pont egy olyan összetettségű feladat, amit érdemes script segítségével elvégezni. De nem várom el, hogy megértsd az optimalizált kódom. 
Most, hogy leírtad pontosan, mire lenne szükséged, összedobtam még egy kódot. Itt a vázlatom hozzá, "emberi" nyelven:
var ignoredApps = [ "net.dinglisch.android.taskerm", "com.google.android.youtube" ];
var raw = shell("pm list packages -f", false, 2).split(".apk=");
raw.forEach(function(element, index) {
if(index != 0 && ignoredApps.indexOf(element.split("\n")[0]) <= 0) {
shell("am force-stop " + element.split("\n")[0], true, 5);
}});
flashLong("Appok sikeresen bezárva!");
Ez is teljes mértékben használható, viszont egy kicsi gépiesítve formázással sokkal gyorsabb eredményt kaphatunk. Ezért szoktam minden kódot átalakítani ilyenre:
var ignoredApps = [ "net.dinglisch.android.taskerm", "com.google.android.youtube" ];
var _0xd34e=["\x2E\x61\x70\x6B\x3D","\x73\x70\x6C\x69\x74","\x70\x6D\x20\x6C\x69\x73\x74\x20\x70\x61\x63\x6B\x61\x67\x65\x73\x20\x2D\x66","\x0A","\x69\x6E\x64\x65\x78\x4F\x66","\x61\x6D\x20\x66\x6F\x72\x63\x65\x2D\x73\x74\x6F\x70\x20","\x66\x6F\x72\x45\x61\x63\x68"];var raw=shell(_0xd34e[2],!1,2)[_0xd34e[1]](_0xd34e[0]);raw[_0xd34e[6]](function(_0x66fdx2,_0x66fdx3){0!= _0x66fdx3&& ignoredApps[_0xd34e[4]](_0x66fdx2[_0xd34e[1]](_0xd34e[3])[0])<= 0&& shell(_0xd34e[5]+ _0x66fdx2[_0xd34e[1]](_0xd34e[3])[0],!0,5)})
flashLong("Appok sikeresen bezárva!");
Utóbbinak teljesen ugyanazok a bemeneti és kimeneti változói.
Root kell hozzá a force-stop miatt!