Android O'da bir arka plan uygulamasının ne zaman çalıştığını veya bir kaplamanın ne zaman gösterildiğini gösteren kalıcı bildirimin gizlenmesine ilişkin eğitim.
Güncelleme 25.08.2017: Google, arka planda kalıcı bildirimi gizlemek için kullandığımız yöntemi yamaladığından bu eğitim artık geçerliliğini yitirmiştir. Ancak bu soruna başka bir geçici çözüm bulduk ve bu konuda kısa bir eğitim yazdık. burada bulabilirsin.
Android O, hepimizin bildiği ve sevdiği Android işletim sistemine büyük geliştirmeler getirmeyi amaçlıyor. Telefonlar için resim içinde resim modu, bildirim kanalları, akıllı metin seçimi, otomatik doldurma hizmetleri ve pil ömrünüzü, performansınızı ve güvenliğinizi artıracak pek çok değişiklik. Kullanıcıların pil ömrü ve performansla ilgili sorunları çözmelerine yardımcı olması beklenen özelliklerden biri de arka plan işlem sınırlamalarıdır. Çok fazla ayrıntıya girmeden, Android O'daki uygulamalar artık manifest kayıtlı kayıtlarından uyandırılamıyor örtülü yayın alıcıları ve artık arka plan hizmetlerini geçmeden başlatamazlar JobScheduler. Bir uygulama bir arka plan hizmeti başlatmak istiyorsa, bir bildirim yayınlayarak kullanıcıya bunu yaptığını açıkça belirtmelidir. Ancak arka planda bir uygulama çalışırken Android O artık görünüşte devreye giriyor
Bu bildirimler varsayılan olarak simge durumuna küçültülmüş olsa da kullanıcı tarafından kapatılamaz veya Ayarlar'da kalıcı olarak engellenemez. Bu davranış birçok kullanıcı için oldukça can sıkıcıdır ve Google'ın son Android O/Android 8.0 sürümünde bize bu bildirimi devre dışı bırakmanın bir yolunu sunacağını ciddi olarak umuyorum. Ancak bunu yapmazlarsa orada dır-dir hâlâ bir yol kalıcı arka plan uygulamaları bildirimini kalıcı olarak gizle. Bunun nasıl yapılacağını adım adım bir kılavuzda göstereceğim, ardından nasıl çalıştığına dair bir açıklama ve önemli uyarılar sunacağım.
Gereksinimler:
- Android Ç
- Windows kullanıyorsanız, telefonunuza özel USB sürücülerini yükleyin (bulunabilirler) Burada).
- İndir ADB ikili programı özel işletim sisteminiz için (pencereler, Mac, Linux). Bu bağlantılar her zaman ikili programın en son sürümüne işaret edecektir, böylece en son sürümü bulmak için internette dolaşmanıza gerek kalmaz.
- İndirdiğiniz ZIP dosyasının içeriğini PC'nizdeki kolayca erişilebilen bir klasöre (İndirilenler klasörü gibi) çıkarın.
- Telefonunuzdaki Ayarlar uygulamasına gidin ve "Telefon Hakkında" seçeneğine dokunun.
- Yapı Numarasını bulun ve Geliştirici Modunu etkinleştirmek için üzerine 7 kez dokunun. Etkinleştirildiğinde bir açılır pencere göreceksiniz.
- Ayarlar ana menüsüne geri dönün ve Geliştirici Seçenekleri'ne girin, böylece USB Hata Ayıklama Modunu etkinleştirebilirsiniz.
- Telefonunuzu PC'ye takın ve USB modunu "yalnızca şarj"dan "dosya aktarımı (MTP)" moduna değiştirmek için bildirim panelinizi aşağı kaydırın. Bu, telefonunuz için gerekli olmayabilir.
- PC'nizde ADB ikili dosyasını çıkardığınız dizine göz atın.
- Bu ADB dizininde bir Komut İstemi/Terminal başlatın. Windows kullanıcıları için bu, Shift+Sağ tıklayıp ardından “komut istemini burada aç” seçeneğini seçerek yapılabilir.
- Komut İstemi veya Terminal ortamına girdikten sonra aşağıdaki komutu girin:
adb devices
- Bu ADB arka plan programını başlatacaktır. ADB'yi ilk kez çalıştırıyorsanız, telefonunuzda bağlantıya izin vermenizi isteyen bir istem de göreceksiniz.
- Şimdi adb devices komutunu 10. adımdan itibaren yeniden çalıştırın; komut istemi/terminal, cihazınızın seri numarasını yazdıracaktır. Eğer öyleyse, devam etmeye hazırsınız demektir. Değilse, USB sürücüleri muhtemelen düzgün yüklenmemiştir.
- Komut İstemine geri dönün ve aşağıdaki komutu girin:
adb shell
- Şimdi aşağıdaki komutu yürütün:
cmd appops set android POST_NOTIFICATION ignore
- Bir başarı mesajı veya başka bir şey almayacaksınız, ancak bir hata görmediğiniz sürece işe yaramış olması gerekirdi. Şimdi telefonunuzu yeniden başlatmanız yeterli!
Evet, bunların ekran görüntüleri değil, telefon ekranı resimleri olduğunun farkındayım. Benim Android O uyumlu bir cihazım yok, bu yüzden TK'den bana resim göndermesini istedim.
- Bu komutu geri almak istiyorsanız komut istemine şunu girin:
cmd appops set android POST_NOTIFICATION allow
Nasıl çalışır
Android'in kullanıcıya yönelik izin yönetimi sistemi olan App Ops için gizli komut satırı arayüzünü kullanarak, "android" paketinden POST_NOTIFICATION iznini kısıtlayabiliyoruz. (Not: "reddet" yerine "yoksay" olarak ayarlıyoruz çünkü "reddet" bazı hatalara neden olabilir.) Bu izni ilgili kaynak koduna bakarak buldum. AppOps YöneticisiVerilebilecek/iptal edilebilecek tüm olası izinleri listeleyen ve bunların çoğuna Android ayarlarından erişilemeyen. "Android" paketi aslında, kurtulmaya çalıştığımız kalıcı bildirimden sorumlu olan "Android Sistemi" AKA framework-res.apk anlamına gelir.
Android Sisteminin POST_NOTIFICATION izninin esasen iptal edilmesiyle artık bildirim gösterilemez! Kulağa oldukça basit geliyor, değil mi? Maalesef dikkat edilmesi gereken bir uyarı var. "Android Sistemi" bu bildirimden daha fazlasından sorumludur, dolayısıyla gönderebileceği diğer bildirimler artık gösterilmeyecektir. Bu, USB modu bildirimini (Geliştirici Seçenekleri'ndeki ayar aracılığıyla yine de değiştirilebilir) ve diğer bazı şeyleri içerebilir.
Bu bizim açımızdan oldukça sert bir önlem olsa da, şu anda bu bildirimi gizlemenin tek yolu bu telefonunuzu rootlamaktan ve çerçevenin kendisini değiştirmekten, ki bu pek çok kullanıcının isteyip de yapamayacağı bir şeydir yapmak. Google'ın, Android O'nun gelecekteki bir sürümünde bu bildirimi gizlemenin veya daha iyisi bu bildirimi tamamen kaldırmanın bir yolunu sunacağını içtenlikle umuyorum. Google, arka planda bir uygulama çalışırken kullanıcıları bilgilendirerek kullanıcı deneyimini geliştirmek istemektedir. Kullanıcı farkında olmayabilir ancak seçtiği yöntem, kullandığımız her uygulamanın ne olduğunu bilen bizler için can sıkıcıdır. kullanarak.