Etkin bir uygulamanın düşük güç moduna geçme sürecini, kullanıcı kol saatini artık kullanmadığında Wear OS otomatik olarak işler. Buna sistem ambiyans modu denir. Kullanıcı belirli bir zaman dilimi içinde saatle tekrar etkileşimde bulunursa Wear OS kullanıcıyı uygulamada kaldığı yerden geri getirir.
Belirli kullanım alanlarında (örneğin, koşu sırasında nabız ve tempoyu görmek isteyen bir kullanıcı) düşük güçlü ambiyans modunda nelerin görüntüleneceğini de kontrol edebilirsiniz. Hem ambiyans hem de etkileşimli modda çalışan Wear OS uygulamalarına her zaman açık uygulamalar adı verilir.
Bir uygulamayı sürekli görünür hale getirmek pil ömrünü etkilediğinden, bu özelliği uygulamanıza eklerken bu durumun etkisini göz önünde bulundurun.
Projenizi yapılandırın
Ambiyans modunu desteklemek için şu adımları uygulayın:
- Giyilebilir cihaz uygulaması oluşturma ve çalıştırma sayfasındaki yapılandırmalara göre projenizi oluşturun veya güncelleyin.
WAKE_LOCK
iznini Android Manifest dosyasına ekleyin:
<uses-permission android:name="android.permission.WAKE_LOCK" />
Her zaman açık modunu etkinleştir
AmbientLifecycleObserver
sınıfını kullanmak için aşağıdakileri yapın:
-
AmbientLifecycleObserver.AmbientLifecycleCallback
arayüzünü aşağıdaki örnekte gösterildiği gibi uygulayın. Bu aşamada yöntemler boştur ancak kılavuzun sonraki bölümlerinde, ambiyans moduna girmek ve bu moddan çıkmak için görselleştirmede yapmanız gereken değişiklikler hakkında ayrıntılı bilgi verilmektedir.Kotlin
val ambientCallback = object : AmbientLifecycleObserver.AmbientLifecycleCallback { override fun onEnterAmbient(ambientDetails: AmbientLifecycleObserver.AmbientDetails) { // ... Called when moving from interactive mode into ambient mode. } override fun onExitAmbient() { // ... Called when leaving ambient mode, back into interactive mode. } override fun onUpdateAmbient() { // ... Called by the system in order to allow the app to periodically // update the display while in ambient mode. Typically the system will // call this every 60 seconds. } }
-
Bir
AmbientLifecycleObserver
oluşturun ve gözlemciyi kaydedin. Genellikle bu,onCreate()
içinde veya Wear OS için Compose kullanıyorsanız en üst düzey composable'da kullanılır. Böylece etkinliğin yaşam döngüsü boyunca her zaman açık davranış da etkinleştirilebilir.Kotlin
private val ambientObserver = AmbientLifecycleObserver(activity, callback) override fun onCreate(savedInstanceState: Bundle) { super.onCreate(savedInstanceState) lifecycle.addObserver(observer) // ... }
- Her zaman açık davranış artık gerekli olmadığında
removeObserver()
yöntemini çağırarak gözlemciyi kaldırın. Örneğin, bu yöntemi etkinliğinizinonDestroy()
yönteminde çağırabilirsiniz.
Ambiyans modunda görsel görünümü değiştirin
Varsayılan olarak her zaman açık ayarı seçildiğinde, saat ambiyans moduna girdiğinde ekranın görünümü değişmez. AmbientLifecycleCallback
içindeki yöntemleri geçersiz kılarak bu davranışı değiştirebilirsiniz.
Güç tasarrufu sağlamaya yardımcı olmak için aşağıdakileri yapın:
- Daha az piksel aydınlatıp ekranın büyük kısmını siyah bırakır. Ambiyans modunda yalnızca kritik bilgileri göstermeyi düşünün ve kullanıcı etkileşimli moda girdiğinde daha fazla ayrıntı sağlayın.
- İçerikleri daha seyrek güncellenecek şekilde düzenleyin. Örneğin, zamanlayıcıları en yakın saniye yerine en yakın dakikaya gösterebilirsiniz.
onEnterAmbient()
yöntemine geçirilenAmbientDetails
nesnesinde:deviceHasLowBitAmbient
ayarlanmışsa mümkün olduğunda kenar yumuşatma özelliğini devre dışı bırakın.burnInProtectionRequired
ayarlandıysa görselleştirmeyi düzenli aralıklarla değiştirin ve düz beyaz alanlardan kaçının.
Wear OS için Compose'u kullanırken durumu güncellemek için bu geri çağırma yöntemlerini kullanmanızı öneririz. Bu da sistemin kullanıcı arayüzünüzü uygun şekilde yeniden oluşturmasına olanak tanır.
Bunun nasıl yapılacağına dair bir örnek olarak GitHub'daki, Horologist kitaplığındaki composable AmbientAware
öğesinin kullanıldığı, yazmaya dayalı
alıştırma örneğine göz atın.