Kablosuz tercih edilen ağ aktarımı taraması

Tercih edilen ağdan kablosuz bağlantı boşaltma (PNO) taramaları, cihaz kablosuz ağa bağlı değilken ve ekran kapalıyken düzenli aralıklarla yapılan düşük güçte kablosuz ağ taramalarıdır. PNO taramaları, kayıtlı ağları bulmak ve bunlara bağlanmak için kullanılır. Bu taramalar, NL80211_CMD_START_SCHED_SCAN komutu kullanılarak çerçeve tarafından planlanır. Daha fazla bilgi için nl80211.h konusuna bakın.

Cihaz taşınabilirliği bilgilerini kullanarak güç kullanımını optimize etme

Android 9 veya önceki sürümlerin yüklü olduğu cihazlarda, cihaz kablosuz ağa bağlı değilken ve ekran kapalıyken PNO taramaları ilk üç tarama için 20 saniyelik aralıklarla yapılır. Ardından, sonraki tüm taramalar için 60 saniyede bir tarama olacak şekilde yavaşlar. Kayıtlı bir ağ bulunduğunda veya ekran açıldığında PNO taraması durur.

Android 10, WifiManager içinde setDeviceMobilityState() adlı isteğe bağlı bir API yöntemi sunar. Bu yöntem, güç tüketimini azaltmak için cihazın hareketlilik durumuna göre PNO taramaları arasındaki aralığı artırır.

Olası mobilite durumları şunlardır:

  • DEVICE_MOBILITY_STATE_UNKNOWN: Bilinmeyen mobilite
  • DEVICE_MOBILITY_STATE_HIGH_MVMT: Bisiklette veya motorlu araçta
  • DEVICE_MOBILITY_STATE_LOW_MVMT: Yürüyüş veya koşu
  • DEVICE_MOBILITY_STATE_STATIONARY: Hareket etmiyor

Cihaz sabitse Android çerçevesi, güç tüketimini azaltmak için PNO taramaları arasındaki aralığı 60 saniyeden 180 saniyeye çıkarır. Bu optimizasyon, cihaz hareket etmediğinde PNO taramalarında yeni ağ bulma olasılığının düşük olduğu varsayımına dayanır.

Cihaz başka bir mobilite durumundaysa veya yöntem çağrılmamışsa cihaz, varsayılan PNO tarama davranışını kullanır.

Uygulama

Android 10 veya sonraki sürümleri çalıştıran bir cihazda bu güç optimizasyonu özelliğini uygulamak için cihaz hareketliliği bilgilerini alın ve özel bir sistem uygulamasından setDeviceMobilityState() yöntemini çağırın.