Google, her yeni Android sürümünde kullanıcı gizliliğini korumak amacıyla arka planda çalışan servislere ve sensör erişimlerine yeni kısıtlamalar getiriyor. Eski bir Android sürümünde sorunsuz çalışan bir cihaz takip veya yönetim uygulaması, yeni bir sürüme geçildiğinde izin verilmediği için sessizce durabilir.
Bu rehber; Android 13 (Tiramisu), Android 14 (Upside Down Cake), Android 15 (Vanilla Ice Cream) ve Android 16 sürümlerinde cihaz yönetimi, konum ve arka plan bildirimlerini etkileyen mimari izin değişikliklerini adım adım karşılaştırır.
Android sürümleri değiştikçe cihaz yönetimi neden zorlaşıyor?
Eski Android sürümlerinde bir uygulamanın kurulması, arka planda çalışması ve bildirim göndermesi için genellikle tek bir kurulum izni yeterliydi. Güncel Android sürümlerinde ise:
- İzinler kurulum anında değil, kullanım sırasında ve ayrı pencerelerle istenir (Çalışma zamanı izinleri).
- Bildirim göndermek artık otomatik bir hak değil, kullanıcının açık onayına bağlı ayrı bir izindir.
- Arka planda çalışan servislerin ne amaçla çalıştığı sisteme önceden beyan edilmek zorundadır.
- Kullanılmayan uygulamaların izinleri sistem tarafından birkaç ay içinde kendiliğinden sıfırlanır.
Sürüm bazlı izin ve arka plan değişiklikleri
| Özellik / İzin Alanı | Android 13 (API 33) | Android 14 (API 34) | Android 15 (API 35) | Android 16 (API 36) |
|---|---|---|---|---|
| Bildirim izni | POST_NOTIFICATIONS zorunlu | Aynı; bildirim iptal edilirse servis uyarısı görünür | Aynı koruma | Aynı koruma |
| Ön plan servisleri (FGS) | Genel FGS izni yeterli | foregroundServiceType manifestte zorunlu | dataSync ve konum için katı zaman aşımı kuralları | WorkManager entegrasyonu zorunluluğu |
| Kesin alarm izni (Exact Alarm) | SCHEDULE_EXACT_ALARM kısıtlandı | USE_EXACT_ALARM özel izin kategorisi | Yalnızca takvim ve saat gibi uygulamalara onay | Daha sıkı arka plan ertelemeleri |
| Arka plan konum | ACCESS_BACKGROUND_LOCATION ayrı onay | Konum paylaşımı açıklaması zorunlu | Konum doğruluk denetimi genişletildi | Periyodik konum isteklerine yeni limitler |
| Gizli alan (Private Space) | Mevcut değil | Mevcut değil | Gizli alandaki uygulamalar kilitliyken tamamen askıya alınır | Gizli alan API geliştirmeleri |
Android 13 (API 33): Bildirim izninin zorunlu hale gelmesi
Android 13 öncesinde uygulamalar kurulduğu anda varsayılan olarak bildirim gönderme hakkına sahipti. Android 13 ile birlikte POST_NOTIFICATIONS çalışma zamanı izni getirildi. Eğer kullanıcı bu izni reddederse:
- Uygulama ebeveyne veya cihaz sahibine durum uyarılarını iletemez.
- Ön plan servisinin (Foreground Service) kalıcı bildirim çubuğu gizlenir; bazı üreticiler bildirimi olmayan servisleri Doze modunda daha hızlı kapatır.
Kaynak: Android Developers — Android 13 davranış değişiklikleri.
Android 14 (API 34): Ön plan servis türleri (FGS) ve katı kurallar
Android 14, arka planda çalışan süreçler için en büyük kırılma noktalarından biridir. Artık bir uygulama arka planda çalışacağını belirtirken tam olarak hangi işlevi yaptığını (örneğin location, dataSync veya connectedDevice) manifest dosyasında bildirmek zorundadır:
- Eğer uygulama arka planda konum okuyacaksa
foregroundServiceType="location"olarak belirtilmeli ve uygun sistem izinleri alınmalıdır. - Uygulama sunucuyla yalnızca veri eşitleyecekse
foregroundServiceType="dataSync"seçilir; ancak sistem bu servisin sonsuza kadar arka planda kalmasına izin vermez.
Kaynak: Android Developers — Android 14 FGS türü zorunlulukları.
Android 15 (API 35): Gizli alan (Private Space) ve zaman aşımı limitleri
Android 15 ile tanıtılan "Gizli Alan" (Private Space), kullanıcıların hassas uygulamalarını ayrı bir şifreli profil altında gizlemesine olanak tanır. Cihaz takibi ve yönetimi açısından sonuçları şunlardır:
- Gizli alan kilitlendiğinde, içerisindeki tüm uygulamaların arka plan süreçleri tamamen durdurulur ve ağ erişimleri kesilir.
dataSynctüründeki ön plan servislerine 6 saatlik kümülatif çalışma sınırı getirilmiştir; süre dolduğunda sistem servisi sonlandırır.
Kaynak: Android Developers — Android 15 davranış değişiklikleri.
Android 16 (API 36): Yeni nesil optimizasyonlar ve WorkManager
Android 16, arka plan görevlerinin işletim sisteminin güç takvimine göre planlanmasını zorunlu kılan WorkManager standartlarını daha da katılaştırmaktadır. Tam dakikasında çalışan zamanlayıcılar yerine, sistem cihaz şarjdayken veya Wi-Fi'a bağlıyken toplu veri aktarımını teşvik eder. Bu nedenle son görülme ve periyodik durum bildirimlerindeki doğal toleransları anlamak önemlidir. Ayrıntılar için periyodik bildirim zamanlaması rehberimize bakabilirsiniz.
Uygulama kurulumunda kontrol listesi
- Bildirim izni: Kurulum sonrası açılan ilk ekranda bildirim izninin onaylandığından emin olun.
- Konum izni: Eğer konum takibi gerekiyorsa iznin "Yalnızca uygulama açıkken" değil, "Her zaman izin ver" olarak işaretlendiğini kontrol edin.
- Otomatik izin sıfırlama:
Ayarlar → Uygulamalar → [Uygulama]menüsünden "Kullanılmadığında izinleri kaldır" seçeneğini kapatın. - Pil optimizasyonu: Cihaz üreticisine uygun pil istisnasını tanımlayın.
Android Takip hangi API seviyelerinde test edildi?
Android Takip 0.3.0 geliştirme sürümü API 26 (Android 8.0) ile API 36 (Android 16) arasındaki 6 farklı AOSP emülatöründe eşleştirme ve durum bildirimleri açısından doğrulanmıştır. API 36 üzerinde uygulama güncellemesi sonrası servis toparlanması da test edilmiştir. Sonuçlar için uyumluluk tablomuzu ve proje durumunu inceleyebilirsiniz.