Uygulamanızın Wear'da görünür olmasını sağlayın

Etkin bir uygulama için Wear OS, kullanıcının kol saatini artık kullanmadığında düşük güç moduna geçme işlemini otomatik olarak yapar. Buna sistem ambiyans modu denir. Kullanıcı belirli bir zaman dilimi içinde saatle tekrar etkileşimde bulunursa Wear OS, kullanıcıyı uygulamaya kaldığı yerden geri getirir.

Belirli kullanım durumları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 modlarda çalışan Wear OS uygulamalarına her zaman açık uygulamalar adı verilir.

Bir uygulamanın sürekli görünür olması pil ömrünü etkilediğinden, özelliği uygulamanıza eklerken bu durumun dikkate alınmasını sağlayın.

Projenizi yapılandırın

Ambiyans modunu desteklemek için şu adımları uygulayın:

  1. Projenizi Giyilebilir cihaz oluşturma ve çalıştırma sayfasındaki yapılandırmalara göre oluşturun veya güncelleyin.
  2. Android Manifest dosyasına WAKE_LOCK iznini 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:

  1. Aşağıdaki örnekte gösterildiği gibi AmbientLifecycleObserver.AmbientLifecycleCallback arayüzünü uygulayın. Bu aşamada yöntemler boştur, ancak kılavuzun ilerleyen 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.
          }
        }
        
  2. Bir AmbientLifecycleObserver oluşturun ve gözlemciyi kaydedin. Genellikle bu, etkinliğin yaşam döngüsü boyunca her zaman açık davranışın etkinleştirilmesini sağlamak için onCreate() uygulamasında veya Wear OS için Compose kullanılıyorsa üst düzey kompozit düzende kullanılır.

    Kotlin

    private val ambientObserver = AmbientLifecycleObserver(activity, callback)
    
    override fun onCreate(savedInstanceState: Bundle) {
      super.onCreate(savedInstanceState)
      lifecycle.addObserver(observer)
    
      // ...
    }
    
  3. 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ğinizin onDestroy() yönteminde çağırabilirsiniz.

Ambiyans modunda görsel görünümü değiştirin

Varsayılan olarak, her zaman açık ayarı kullanılırken kol saati 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 yapmak için aşağıdakileri yapın:

  • Daha az piksel aydınlatır ve ekranın büyük kısmını siyah bırakır. Ambiyans modunda yalnızca kritik bilgileri göstermeyi ve kullanıcı etkileşimli moda girdiğinde daha fazla ayrıntı sağlamayı düşünün.
  • İçerikleri daha seyrek güncelleme sağlayacak şekilde düzenleyin. Örneğin, zamanlayıcıları en yakın saniye yerine en yakın dakikaya gösterin.
  • onEnterAmbient() öğesine iletilen AmbientDetails nesnesinde:
    • deviceHasLowBitAmbient ayarlandıysa 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. Böylece sistem, kullanıcı arayüzünüzü uygun şekilde yeniden oluşturabilir.

Bunun nasıl gerçekleştirilebileceğine ilişkin örnekler için aşağıdaki kaynakları inceleyin: