Oktatóanyag az állandó értesítés elrejtéséhez Android O rendszerben, amely megmutatja, ha fut egy háttéralkalmazás, vagy ha fedvény jelenik meg.
Frissítés 2017.08.25.: Ez az oktatóanyag mára elavult, mivel a Google kijavította azt a módszert, amellyel elrejtjük az állandó értesítést a háttérben. Azonban felfedeztünk egy másik megoldást a problémára, és írtunk róla egy rövid oktatóanyagot itt találod.
Az Android O jelentős fejlesztéseket kíván hozni az Android operációs rendszerbe, amelyet mindannyian ismerünk és szeretünk. Kép a képben mód telefonokhoz, értesítési csatornákhoz, intelligens szövegkiválasztáshoz, automatikus kitöltési szolgáltatásokhoz és a motorháztető alatti sok-sok változtatáshoz az akkumulátor élettartamának, teljesítményének és biztonságának növelése érdekében. Az egyik olyan funkció, amely segíti a felhasználókat az akkumulátor élettartamával és a teljesítménnyel kapcsolatos problémák megoldásában, a háttérfolyamatok korlátai. Anélkül, hogy túlságosan belemennénk a részletekbe, az Android O alkalmazásai már nem ébreszthetők fel a jegyzékben regisztrált rendszerükből implicit sugárzó vevők, és már nem indíthatják el a háttérszolgáltatásokat anélkül, hogy átmennének Job Scheduler. Ha egy alkalmazás háttérszolgáltatást szeretne indítani, akkor értesítés közzétételével kifejezetten jeleznie kell a felhasználónak, hogy ezt teszi. Ha azonban egy alkalmazás fut a háttérben, az Android O most látszólag bekapcsol
egy másik állandó értesítés, amely tájékoztatja, hogy milyen alkalmazások futnak. Ez akkor is előfordul, ha egy alkalmazás a SYSTEM_ALERT_WINDOW engedély (például a népszerű Szürkület alkalmazás) jelenleg fedvényt jelenít meg.Bár ezek az értesítések alapértelmezés szerint minimalizálva vannak, a felhasználó nem utasíthatja el, és nem tilthatja le őket véglegesen a Beállításokban. Ez a viselkedés nagyon bosszantó sok felhasználó számára, és komolyan remélem, hogy a Google lehetőséget ad nekünk az értesítés letiltására az Android O/Android 8.0 végső kiadásában. Ha azonban nem, akkor ott van még mindig módja annak véglegesen elrejti a háttérben futó alkalmazások értesítését. Bemutatom, hogyan kell ezt megtenni egy lépésről-lépésre szóló útmutatóban, amelyet a működésének magyarázata, valamint fontos figyelmeztetések követnek.
Követelmények:
- Android O
- Telepítse az USB-illesztőprogramokat az adott telefonhoz, ha Windows rendszert használ (megtalálhatók itt).
- Töltse le a ADB bináris az adott operációs rendszerhez (ablakok, Mac, Linux). Ezek a hivatkozások mindig a bináris legfrissebb verziójára mutatnak, így nem kell a neten böngészni a legújabbat keresve.
- Bontsa ki a letöltött ZIP-fájl tartalmát egy könnyen elérhető mappába a számítógépén (például a Letöltések mappába).
- Nyissa meg a Beállítások alkalmazást a telefonján, és érintse meg az „A telefonról” opciót.
- Keresse meg a Build számot, és érintse meg hétszer a Fejlesztői mód engedélyezéséhez. Egy felugró ablak jelenik meg, amint engedélyezve van.
- Menjen vissza a Beállítások főmenübe, és lépjen be a Fejlesztői beállításokba, hogy engedélyezze az USB hibakeresési módot.
- Csatlakoztassa telefonját a számítógéphez, és húzza lefelé az értesítési panelt, hogy az USB módot „csak töltésről” „fájlátvitel (MTP)” módra váltsa. Lehetséges, hogy ez nem szükséges a telefonhoz.
- A számítógépen keresse meg azt a könyvtárat, ahonnan az ADB bináris fájlt kicsomagolta.
- Indítson el egy Parancssort/Terminált ebben az ADB-könyvtárban. Windows-felhasználók számára ezt megteheti a Shift+Jobb gombbal, majd a „Parancssor megnyitása itt” opció kiválasztásával.
- Miután a Parancssor vagy Terminál környezetben van, írja be a következő parancsot:
adb devices
- Ez elindítja az ADB démont. Ha először futtatja az ADB-t, akkor a telefonján egy üzenet is megjelenik, amely a kapcsolat engedélyezését kéri.
- Most futtassa újra az adb devices parancsot a 10. lépéstől, és a parancssor/terminál kinyomtatja az eszköz sorozatszámát. Ha igen, akkor készen áll a továbblépésre. Ha nem, akkor az USB-illesztőprogramok valószínűleg nincsenek megfelelően telepítve.
- Menjen vissza a Parancssorba, és írja be a következő parancsot:
adb shell
- Most hajtsa végre a következő parancsot:
cmd appops set android POST_NOTIFICATION ignore
- Nem kap sikerüzenetet vagy ilyesmit, de amíg nem lát hibát, működnie kellett volna. Most csak indítsa újra a telefont!
Igen, tudom, hogy ezek inkább egy telefon képernyőjének képei, nem pedig képernyőképek. Nekem nincs Android O kompatibilis eszközöm, ezért megkértem a TK-t, hogy küldjön képeket.
- Ha vissza szeretné állítani ezt a parancsot, írja be ezt a parancssorba:
cmd appops set android POST_NOTIFICATION allow
Hogyan működik
Az App Ops, az Android felhasználóbarát engedélykezelő rendszerének rejtett parancssori felületének használatával korlátozhatjuk a POST_NOTIFICATION engedélyt az "android" csomagból. (Megjegyzés: a "megtagadás" helyett "figyelmen kívül hagyásra" állítjuk, mert a "megtagadás" hibákat okozhat.) Ezt az engedélyt úgy találtam, hogy megnéztem a megfelelő forráskódot AppOpsManager, amely felsorolja az összes megadható/visszavonható engedélyt, amelyek közül sok nem érhető el az Android beállításaiban. Az "android" csomag valójában az "Android System" AKA framework-res.apk-ra vonatkozik, amely felelős a folyamatos értesítésért, amelyet megpróbálunk megszabadulni.
Ha lényegében visszavonja az Android rendszer POST_NOTIFICATION engedélyét, a továbbiakban nem tud értesítést megjeleníteni! Elég egyszerűen hangzik, igaz? Sajnos van egy figyelmeztetés, amellyel tisztában kell lenni. Az „Android System” nem csak ezért az értesítésért felelős, ezért az esetlegesen közzétett egyéb értesítések többé nem jelennek meg. Ez magában foglalhatja az USB mód értesítését (amely továbbra is módosítható a Fejlesztői beállításokban), valamint néhány egyéb dolog.
Bár ez egy meglehetősen drasztikus intézkedés a részünkről, jelenleg ez az egyetlen módja annak, hogy elrejtsük ezt az értesítést. a telefon rootolásától és magának a keretrendszernek a módosításától, amit nyilvánvalóan nem sok felhasználó hajlandó vagy képes csinálni. Őszintén remélem, hogy a Google lehetőséget kínál az értesítés elrejtésére az Android O jövőbeli kiadásában, vagy még jobb, ha teljesen eltávolítja ezt az értesítést. A Google érthető módon javítani akar a felhasználói élményen azáltal, hogy értesíti a felhasználókat, ha egy alkalmazás fut a háttérben lehet, hogy a felhasználó nem tud róla, de az általa választott módszer bosszantó azok számára, akik tudják, mi az egyes alkalmazások segítségével.