Сакријте трајно обавештење за апликације у позадини и преклапања у Андроид О

Водич за сакривање трајног обавештења у Андроид О које показује када је апликација у позадини покренута или када се приказује преклапање.

Ажурирање 25.8.2017.: Овај водич је сада застарео, пошто је Гоогле закрпио метод који користимо да сакријемо трајно обавештење у позадини. Међутим, открили смо још једно решење за овај проблем и написали кратак водич о томе можете наћи овде.

Андроид О жели да унесе велика побољшања у Андроид ОС који сви познајемо и волимо. Режим слике у слици за телефоне, канале за обавештења, паметан избор текста, услуге аутоматског попуњавања, и испод хаубе многе, многе промене за побољшање трајања батерије, перформансе и безбедност. Једна карактеристика која би требало да помогне корисницима да реше проблеме са трајањем батерије и перформансама су ограничења процеса у позадини. Не улазећи превише у детаље, апликације у Андроид О више се не могу пробудити из регистрованих у манифесту имплицитни пријемници емитовања и они више не могу да покрену позадинске услуге без проласка ЈобСцхедулер. Ако апликација жели да покрене услугу у позадини, мора експлицитно да каже кориснику да то ради постављањем обавештења. Међутим, када апликација ради у позадини, Андроид О се сада наизглед укључује 

други стално обавештење које вам говори које апликације се покрећу. Ово се такође дешава када апликација са СИСТЕМ_АЛЕРТ_ВИНДОВ дозволу (као што је популарна Сумрак апликација) тренутно приказује преклапање.

Андроид О трајно обавештење за апликације у позадини и преклапање. Заслуге: Бен Сцхоон \\ 9то5Гоогле

Иако су ова обавештења подразумевано минимизирана, корисник их не може одбацити или трајно блокирати у подешавањима. Ово понашање је веома неугодно за многе кориснике и озбиљно се надам да ће нам Гоогле дати начин да онемогућимо ово обавештење у коначном издању Андроид О/Андроид 8.0. Међутим, ако то не ураде, тамо је још увек начин да трајно сакријте стална обавештења о апликацијама у позадини. Приказаћу како се то ради у водичу корак по корак, након чега следи објашњење како то функционише, као и важна упозорења.


Захтеви:

  • Андроид О
  1. Инсталирајте УСБ драјвере за свој телефон ако користите Виндовс (могу се пронаћи овде).
  2. Преузмите АДБ бинарни за ваш одређени оперативни систем (Виндовс, Мац, Линук). Ове везе ће увек упућивати на најновију верзију бинарне датотеке, тако да не морате да претражујете по мрежи тражећи најновију.
  3. Извуците садржај ЗИП датотеке коју сте преузели у лако доступну фасциклу на рачунару (као што је фасцикла Преузимања).
  4. Идите у апликацију Подешавања на телефону и додирните опцију „О телефону“.
  5. Пронађите број израде и додирните га 7 пута да бисте омогућили режим програмера. Видећете искачући прозор када буде омогућен.
  6. Вратите се на главни мени Подешавања и унесите Опције за програмере да бисте омогућили режим УСБ отклањања грешака.
  7. Укључите телефон у рачунар и превуците надоле панел са обавештењима да бисте променили УСБ режим са „само пуњење“ на режим „пренос датотека (МТП)“. Ово можда није неопходно за ваш телефон.
  8. На рачунару идите до директоријума у ​​који сте издвојили АДБ бинарни фајл.
  9. Покрените командну линију/терминал у овом АДБ директоријуму. За кориснике оперативног система Виндовс, ово се може урадити притиском на Схифт+десни клик, а затим одабиром опције „отвори командну линију овде“.
  10. Када сте у командној линији или терминалском окружењу, унесите следећу команду: adb devices
  11. Ово ће покренути АДБ демон. Ако је ово први пут да покрећете АДБ, такође ћете видети упит на свом телефону у којем се од вас тражи да овластите везу.
  12. Сада поново покрените команду адб девицес из корака 10, а командна линија/терминал ће одштампати серијски број вашег уређаја. Ако јесте, онда сте спремни да наставите даље. Ако нису, онда УСБ драјвери вероватно нису правилно инсталирани.
  13. Вратите се на командну линију и унесите следећу команду: adb shell
  14. Сада извршите следећу команду: cmd appops set android POST_NOTIFICATION ignore
  15. Нећете добити поруку о успеху или било шта друго, али све док не видите грешку, требало је да функционише. Сада само поново покрените телефон!

    Да, схватам да су ово слике екрана телефона, а не снимци екрана. Ја немам уређај компатибилан са Андроид О, па сам замолио ТК да ми пошаље слике.

  16. Ако желите да вратите ову команду, унесите ово у командну линију: cmd appops set android POST_NOTIFICATION allow

Како то ради

Користећи скривени интерфејс командне линије за Апп Опс, Андроид-ов систем за управљање дозволама окренутим корисницима, можемо да ограничимо дозволу ПОСТ_НОТИФИЦАТИОН из пакета „андроид“. (Напомена: постављамо је на „игнорисање“ уместо „одбијање“ јер би „одбијање“ могло да изазове неке грешке.) Пронашао сам ову дозволу гледајући релевантни изворни код за АппОпсМанагер, који наводи све могуће дозволе које се могу доделити/поништити, од којих многе нису доступне у подешавањима Андроид-а. Пакет „андроид“ се заправо односи на „Андроид систем“ АКА фрамеворк-рес.апк, који је одговоран за упорна обавештења којих покушавамо да се решимо.

У суштини опозивањем дозволе ПОСТ_НОТИФИЦАТИОН Андроид система, он више не може да приказује обавештење! Звучи прилично једноставно, зар не? Нажалост, постоји упозорење које треба имати на уму. „Андроид систем“ је одговоран за више од само овог обавештења, тако да било каква друга обавештења која може да објави више неће бити приказана. Ово може укључивати обавештење о УСБ режиму (које се и даље може променити кроз подешавање у опцијама за програмере) као и неке друге ствари.

Иако је ово прилично драстична мера коју треба предузети са наше стране, то је тренутно једини начин да сакријемо ово обавештење одвојено од рутирања вашег телефона и модификације самог оквира, што је очигледно нешто што многи корисници не желе или не могу урадити. Искрено се надам да Гоогле нуди начин да сакрије ово обавештење у будућем издању Андроид-а О, или још боље да у потпуности уклони ово обавештење. Гоогле разумљиво жели да побољша корисничко искуство тако што ће обавестити кориснике када апликација ради у позадини корисник можда није свестан, али метода коју су изабрали је досадна за оне од нас који знају шта је са сваком апликацијом коју смо Користећи.