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 sinyal göndermesine olanak tanır. Bu seçenek yapılandırma gerektirir ve isteğe bağlı olarak uygulanabilir.
Cihaz yapılandırması
Sağlayıcı teknik özellikleri
Ayarlar kullanıcı arayüzüne cihazın doğru yapılandırıldığını bildirmek için yapılandırma yer paylaşımınızı kullanarak config_batterySaverScheduleProvider
değerini uygulamanızın paket adıyla geçersiz kılın.
Ö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 bunu değiştirebilirsiniz.
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/imtiyazlı bir izindir. Bu nedenle, privapp-whitelist
cihazınızda pil tasarrufunu tetikleyebilmesini istediğiniz uygulamaya bu izni verin.
Bir uygulamaya privapp
izni verme örneği:
<privapp-permissions package="com.google.android.apps.turbo">
<permission name="android.permission.POWER_SAVER"/>
</privapp-permissions>
Sistem görüntüsünde uygulamanın sürümüne bu izni önceden vermezseniz 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
Rutin temelli özelliğinin düzgün çalışması için uygulamayı, gerekli izinle sistem resmine önceden yüklemeniz gerekir. Yalnızca bir uygulamaya POWER_SAVER
izin verin ve rutine dayalı API'leri kontrol etmesine izin verin. Davranış
izin birden fazla uygulama tarafından kullanılmaya çalıştığında ve API'ler
ve belirtilmemiş.
Pil tasarrufunu tetikleme
API'ler
Kurulumun şimdiye kadar başarılı olduğu varsayıldığında, yapılandırmada belirtilen OEM uygulaması, pil tasarrufunu tetiklemek için PowerManager'da ilişkili yöntemi başarıyla çağırabilir:
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. Uygulama sistemle iletişim kuramazsa sistemin pil tasarrufunu hangi pil yüzdesinde kapatabileceğini bilmesi için disableThreshold
değerini belirtin.
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, şunu doğrulamak üzere ayarları global olarak sorgulayı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)
işlevini çağırırsanız değerler şöyle 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
Bir OEM'nin rutin pil tasarrufu modunu ne zaman tetikleyeceğine karar vermek için hangi davranışı kullanacağını bilmenin bir yolu olmadığından bu özelliğin otomatik olarak doğrulanması mümkün değildir. Bu nedenle OEM'ler, davranışın beklentileri karşıladığından emin olmak için entegrasyonlarını test etmekten sorumludur. Özellikle cihazın aşağıdaki görevleri yerine getirebildiğini doğrulayın:
- Kullanıcı, pil tasarrufu programı kullanıcı arayüzünde yüzdeye göre'yi ve %15'i seçer. Pil tasarrufu YALNIZCA pil %15'e düştüğünde otomatik olarak açılmalıdır.
- Kullanıcı, pil tasarrufu programı kullanıcı arayüzünde rutine göre'yi seçer. Zaman
Uygulama, API'yi
true
ile çağırır (pil tasarrufu etkinleştirilir). Ayrıca, cihaz belirtilen eşik seviyesidir 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 açılmamalıdır.
- Uygulama, pil tasarrufunu açar ve kullanıcı, pil tasarrufunu manuel olarak geçersiz kılıp tekrar kapatırsa (Hızlı Ayarlar, Ayarlar vb. kullanılarak) kullanıcı manuel olarak tekrar açana veya cihazı fişe takana kadar KAPALI kalır.