დამალეთ მუდმივი შეტყობინება ფონური აპებისა და გადაფარვების შესახებ Android O-ში

გაკვეთილი Android O-ში მუდმივი შეტყობინების დამალვის შესახებ, რომელიც აჩვენებს, როდის მუშაობს ფონური აპი ან როდის ჩანს გადაფარვა.

განახლება 8/25/17: ეს სახელმძღვანელო ახლა მოძველებულია, რადგან Google-მა შეცვალა მეთოდი, რომელსაც ვიყენებთ მუდმივი შეტყობინების ფონზე დასამალად. თუმცა, ჩვენ აღმოვაჩინეთ ამ საკითხის კიდევ ერთი გამოსავალი და დავწერეთ მოკლე გაკვეთილი მასზე, რომელიც შეგიძლიათ იპოვოთ აქ.

Android O ცდილობს მნიშვნელოვანი გაუმჯობესებების შემოტანას Android OS-ში, რომელიც ჩვენ ყველამ ვიცით და გვიყვარს. სურათზე-სურათის რეჟიმი ტელეფონებისთვის, შეტყობინებების არხებისთვის, გონიერი ტექსტის შერჩევისთვის, ავტომატური შევსების სერვისებისთვის და ბევრი, ბევრი ცვლილება თქვენი ბატარეის მუშაობის, მუშაობის და უსაფრთხოების გასაუმჯობესებლად. ერთი ფუნქცია, რომელიც უნდა დაეხმაროს მომხმარებლებს ბატარეის მუშაობისა და მუშაობის პრობლემების მოგვარებაში, არის ფონური პროცესის შეზღუდვები. ზედმეტი დეტალების გარეშე, Android O-ში არსებული აპების გაღვიძება მათი მანიფესტში რეგისტრირებული აღარ არის იმპლიციტური სამაუწყებლო მიმღებები და მათ აღარ შეუძლიათ ფონური სერვისების დაწყება გავლის გარეშე სამუშაო განრიგი. თუ აპს სურს ფონური სერვისის გაშვება, მან მკაფიოდ უნდა უთხრას მომხმარებელს, რომ ამას აკეთებს შეტყობინების გამოქვეყნებით. თუმცა, როდესაც აპლიკაცია მუშაობს ფონზე, Android O ახლა ერთი შეხედვით მუშაობს 

სხვა მუდმივი შეტყობინება, რომელიც გეუბნებათ, რა აპები მუშაობს. ეს ასევე ხდება მაშინ, როდესაც აპლიკაციას აქვს SYSTEM_ALERT_WINDOW ნებართვა (როგორიცაა პოპულარული ბინდი app) ამჟამად აჩვენებს გადაფარვას.

Android O მუდმივი შეტყობინება ფონის და გადაფარვის აპებისთვის. კრედიტები: ბენ შუნი \\ 9to5 Google

მიუხედავად იმისა, რომ ეს შეტყობინებები ნაგულისხმევად მინიმუმამდეა დაყვანილი, მომხმარებელმა არ შეიძლება მათი უარყოფა ან სამუდამოდ დაბლოკვა პარამეტრებში. ეს ქცევა ძალიან შემაშფოთებელია ბევრი მომხმარებლისთვის და სერიოზულად ვიმედოვნებ, რომ Google მოგვცემს საშუალებას გამორთოთ ეს შეტყობინება Android O/Android 8.0-ის საბოლოო გამოშვებაში. თუმცა, თუ არა, იქ არის ჯერ კიდევ გზა სამუდამოდ დამალეთ ფონური აპების მუდმივი შეტყობინება. მე გაჩვენებთ, თუ როგორ უნდა გავაკეთოთ ეს ნაბიჯ-ნაბიჯ სახელმძღვანელოში, რასაც მოჰყვება ახსნა, თუ როგორ მუშაობს ის და ასევე მნიშვნელოვანი გაფრთხილებები.


მოთხოვნები:

  • Android O
  1. დააინსტალირეთ USB დრაივერები თქვენი კონკრეტული ტელეფონისთვის, თუ Windows-ზე ხართ (მათ შეგიძლიათ იპოვოთ აქ).
  2. ჩამოტვირთეთ ADB ორობითი თქვენი კონკრეტული ოპერაციული სისტემისთვის (ფანჯრები, მაკი, Linux). ეს ბმულები ყოველთვის მიუთითებს ბინარის უახლეს ვერსიაზე, ასე რომ თქვენ არ დაგჭირდებათ ქსელის ძებნა უახლესი ვერსიის მოსაძებნად.
  3. ამოიღეთ თქვენ მიერ გადმოწერილი ZIP ფაილის შიგთავსი თქვენს კომპიუტერზე ადვილად მისაწვდომ საქაღალდეში (როგორიცაა ჩამოტვირთვების საქაღალდეში).
  4. გადადით თქვენი ტელეფონის პარამეტრების აპში და შეეხეთ ოფციას "ტელეფონის შესახებ".
  5. იპოვეთ Build Number და შეეხეთ მას 7-ჯერ დეველოპერის რეჟიმის გასააქტიურებლად. ჩართვის შემდეგ ნახავთ ამომხტარ ფანჯარას.
  6. დაბრუნდით პარამეტრების მთავარ მენიუში და შეიყვანეთ დეველოპერის ოფციები, რათა ჩართოთ USB გამართვის რეჟიმი.
  7. შეაერთეთ თქვენი ტელეფონი კომპიუტერთან და გადაფურცლეთ შეტყობინებების პანელი ქვემოთ, რომ შეცვალოთ USB რეჟიმი „მხოლოდ დამუხტვიდან“ „ფაილის გადაცემის (MTP)“ რეჟიმში. ეს შეიძლება არ იყოს საჭირო თქვენი ტელეფონისთვის.
  8. თქვენს კომპიუტერზე, დაათვალიერეთ დირექტორია, სადაც ამოიღეთ ADB ორობითი.
  9. გაუშვით Command Prompt/Terminal ამ ADB დირექტორიაში. Windows-ის მომხმარებლებისთვის ეს შეიძლება გაკეთდეს Shift+მარჯვენა დაწკაპუნებით, შემდეგ არჩევით „გახსენით ბრძანების სტრიქონი აქ“.
  10. როდესაც თქვენ მოხვდებით Command Prompt ან Terminal გარემოში, შეიყვანეთ შემდეგი ბრძანება: adb devices
  11. ეს დაიწყებს ADB დემონს. თუ პირველად აწარმოებთ ADB-ს, თქვენ ასევე იხილავთ მოთხოვნას თქვენს ტელეფონზე, რომელიც მოგთხოვთ კავშირის ავტორიზაციას.
  12. ახლა ხელახლა გაუშვით adb მოწყობილობების ბრძანება მე-10 საფეხურიდან და ბრძანების ხაზი/ტერმინალი დაბეჭდავს თქვენი მოწყობილობის სერიულ ნომერს. თუ ასეა, მაშინ მზად ხართ გადაადგილებისთვის. თუ არა, მაშინ USB დრაივერი სავარაუდოდ არ არის სწორად დაინსტალირებული.
  13. დაბრუნდით ბრძანების სტრიქონში და შეიყვანეთ შემდეგი ბრძანება: adb shell
  14. ახლა შეასრულეთ შემდეგი ბრძანება: cmd appops set android POST_NOTIFICATION ignore
  15. თქვენ არ მიიღებთ წარმატებულ შეტყობინებას ან სხვა რამეს, მაგრამ სანამ არ ხედავთ შეცდომას, მან უნდა იმუშაოს. ახლა უბრალოდ გადატვირთეთ თქვენი ტელეფონი!

    დიახ, მესმის, რომ ეს არის ტელეფონის ეკრანის სურათები და არა ეკრანის ანაბეჭდები. მე თვითონ არ მაქვს Android O თავსებადი მოწყობილობა, ამიტომ ვთხოვე TK გამომეგზავნა სურათები.

  16. თუ გსურთ ამ ბრძანების დაბრუნება, შეიყვანეთ ეს ბრძანების სტრიქონში: cmd appops set android POST_NOTIFICATION allow

Როგორ მუშაობს

App Ops-ისთვის დამალული ბრძანების ხაზის ინტერფეისის გამოყენებით, Android-ის მომხმარებლის ნებართვების მართვის სისტემისთვის, ჩვენ შეგვიძლია შევზღუდოთ POST_NOTIFICATION ნებართვა „android“ პაკეტიდან. (შენიშვნა: ჩვენ მას ვაყენებთ „იგნორირებაზე“ და არა „უარყოფაზე“, რადგან „უარყოფამ“ შეიძლება გამოიწვიოს გარკვეული შეცდომები.) მე ვიპოვე ეს ნებართვა შესაბამისი წყაროს კოდის ნახვით. AppOpsManager, სადაც ჩამოთვლილია ყველა შესაძლო ნებართვა, რომლის მინიჭება/გაუქმებაც შესაძლებელია, რომელთაგან ბევრი მიუწვდომელია Android-ის პარამეტრებში. "android" პაკეტი რეალურად ეხება "Android System" AKA Framework-res.apk, რომელიც პასუხისმგებელია მუდმივ შეტყობინებაზე, რომლის მოშორებას ვცდილობთ.

Android სისტემის POST_NOTIFICATION ნებართვის არსებითად გაუქმებით, ის ვეღარ აჩვენებს შეტყობინებას! საკმაოდ მარტივად ჟღერს, არა? სამწუხაროდ, არსებობს სიფრთხილე, რომელიც უნდა იცოდეთ. "Android სისტემა" პასუხისმგებელია არა მხოლოდ ამ შეტყობინებაზე, ამიტომ ნებისმიერი სხვა შეტყობინებები, რომლებიც მან შეიძლება გამოაქვეყნოს, აღარ იქნება ნაჩვენები. ეს შეიძლება შეიცავდეს USB რეჟიმის შეტყობინებას (რომელიც შეიძლება შეიცვალოს დეველოპერის ოფციების პარამეტრებში) და სხვა რამ.

მიუხედავად იმისა, რომ ეს საკმაოდ მკვეთრი ზომაა ჩვენი მხრიდან, ეს ამჟამად ერთადერთი გზაა ამ შეტყობინების დამალვისთვის. თქვენი ტელეფონის დაყენებიდან და თავად ჩარჩოს შეცვლით, რაც აშკარად არის ის, რაც ბევრ მომხმარებელს არ სურს ან შეუძლია კეთება. გულწრფელად ვიმედოვნებ, რომ Google გთავაზობთ ამ შეტყობინებების დამალვის გზას Android O-ის მომავალ გამოშვებაში, ან კიდევ უკეთესია ამ შეტყობინების მთლიანად წაშლა. გასაგებია, რომ Google-ს სურს გააუმჯობესოს მომხმარებლის გამოცდილება, აცნობოს მომხმარებლებს, როდესაც აპი მუშაობს ფონზე მომხმარებელმა შეიძლება არ იცოდეს, მაგრამ მათ მიერ არჩეული მეთოდი შემაშფოთებელია მათთვის, ვინც იცის, რა არის თითოეული აპლიკაციის შესახებ გამოყენებით.