Rutin pil tasarrufu

Android 10'da pil tasarrufu program seçeneği sunuluyor rutine göre olarak adlandırılır. Bu seçenek, OEM tarafından seçilen bir uygulamanın daha akıllı pil tasarrufu planlaması için sisteme sinyaller sağlar. Bu seçenek yapılandırma gerektirir ve uygulanması isteğe bağlıdır.

Cihaz yapılandırması

Sağlayıcı teknik özellikleri

Ayarlar kullanıcı arayüzüne, cihazın doğru bir şekilde yapılandırıldığını bildirmek için config_batterySaverScheduleProvider değerini geçersiz kılmak için config yer paylaşımı Uygulamanızın paket adı.

Örneğin, com.google.android.apps.turbo uygulama paketinin rutine göre ayarını kontrol ederseniz şu yapılandırma değerini ayarlarsınız:

<string name="config_batterySaverScheduleProvider" translatable="false">
com.google.android.apps.turbo</string>

Artık telefonda rutine göre seçeneği gösterilir. Doğrulamak için bir resim yükleyin ve Ayarlar > Pil > Pilli Tasarruf > Pil Tasarrufu Programı'na gidin. Rutine göre seçeneği görünecektir.

Varsayılan indirim eşiği

Yeni config_dynamicPowerSavingsDefaultDisableThreshold alanı Açıksa, sistemin pil tasarrufunu kapattığı pil düzeyi rutin planlayıcıya göre tarafından yapılabilir. Sistem varsayılanı %80'dir, ancak değiştir.

Uygulama yapılandırması

İzinler

Uygulamanın, pil tasarrufunu uygulamadan etkinleştirmesi için gereken API'ler korumalıdır. android.permission.POWER_SAVER izniyle. Bu, imza/ayrıcalıklı izin vermeniz gerekir. Bu nedenle, tetiklemesini istediğiniz uygulamaya privapp-whitelist cihazınızda bu izni pil tasarrufu yapacak şekilde ayarlayın.

Bir uygulamaya privapp izni verme örneği:

<privapp-permissions package="com.google.android.apps.turbo">
   <permission name="android.permission.POWER_SAVER"/>
</privapp-permissions>

Sistemdeki uygulamanın sürümüne bu izni önceden vermezseniz görüntüsü yoksa uygulama izni alamaz veya API'leri düzgün şekilde çağıramaz. İlgili içeriği oluşturmak için kullanılan sistemimiz, olağan izin hatalarının dışında herhangi bir geri bildirim sağlamaz. Bu nedenle, API'leri çağırıp etkilerini gözlemleyebildiğinizi doğrulayın.

Kurulum

Rutine göre düzgün çalışması için uygulamayı cihazınıza önceden yüklemeniz gerekir. ve sistem görüntüsü oluşturabilirsiniz. Yalnızca bir uygulamaya POWER_SAVER verin ve rutinlere göre API'leri kontrol etmesine olanak tanıyabilir. Davranış izin birden fazla uygulama tarafından kullanılmaya çalıştığında ve API'ler ve belirtilmemiş.

Pil tasarrufunu tetikle

API'ler

Kurulumun şimdiye kadar başarılı olduğu varsayıldığında, yapılandırmada belirtilen OEM uygulaması işlemini tetiklemek için PowerManager'da ilişkili yöntemi pil tasarrufu:

public boolean setDynamicPowerSaveHint(boolean powerSaveHint, int disableThreshold)

Rutine göre pil tasarrufu programı seçeneği etkinse ve uygulama bu yöntemi powerSaveHint için true değeriyle ve ardından pil tasarrufuyla çağırır açılır. UygulamanındisableThreshold sistem, pil yüzdesinin hangi değere ayarlanabileceğini bilir, pil tasarrufunu kapat.

Bu API, kullanıcının geçersiz kılma işlemlerine ve pil tasarrufunun aynı şekilde ertelenmesine tabidir. olarak ayarlayacağım. Bkz. API belgeleri konulu videomuzu izleyin.

API'lerin başarıyla çağrıldığını doğrulamak için global sorgu ayarlarından şunu doğrulayın: yedekleme ayarının değeri değişti API çağrılarına göre.

Örneğin, kullanıcı rutin pil tasarrufu modunu seçtiyse ve uygulama setDynamicPowerSaveHint(true, 10) çağrılıyorsa genel ayarlarda şu değerleri kullanın:

automatic_power_save_mode: 1
dynamic_power_savings_disable_threshold: 10
dynamic_power_savings_enabled: 1

Ardından setDynamicPowerSaveHint(false, 25) yöntemini çağırırsanız değerler şu şekilde olmalıdır:

automatic_power_save_mode: 1
dynamic_power_savings_disable_threshold: 25
dynamic_power_savings_enabled: 0

Bu değerleri, şu adb komutunu kullanarak kontrol edebilirsiniz:

adb shell settings get global <setting-name>

Doğrulama

Bilmenin bir yolu olmadığı için bu özelliği doğrulamanın otomatik bir yolu yoktur. rutin pil tasarrufunun ne zaman tetikleneceğine karar vermek için OEM'in kullanacağı davranış yatırım yapmanız önemlidir. Bu nedenle OEM'ler, Google tarafından sağlanan tüm bilgi ve davranışın beklentileri karşıladığından emin olun. Özellikle, cihazın şu görevleri yerine getirmeniz gerekiyor:

  • Kullanıcı, pil tasarrufu program kullanıcı arayüzündeki yüzdeye göre seçeneğini belirler ve %15'i seçer. Pil tasarrufu YALNIZCA %15 pil düzeyine ulaşıyor.
  • Kullanıcı, pil tasarrufu program kullanıcı arayüzünde rutine göre seçeneğini belirler. Zaman Uygulama, API'yi true ile çağırır (pil tasarrufu etkinleştirilir). Ayrıca, cihaz belirtilen eşik seviyesindeyken ve fişe takılı değilken.
  • Kullanıcı, pil tasarrufu program kullanıcı arayüzünde yok seçeneğini belirler. Pil tasarrufu HİÇBİR ZAMAN otomatik olarak gerçekleşmemelidir.
  • Uygulama pil tasarrufunu açar ve kullanıcı pili manuel olarak geçersiz kılarsa (Hızlı Ayarlar, Ayarlar vb. kullanılarak) tekrar kapatmıyorsa Kullanıcı cihazı manuel olarak tekrar açana veya girin.