10

Başlık özetler. Aynı soru here. Herhangi bir yardım alıp alamayacağımı görmek için SO'ya gönderiyorum. Ayrıca karşı karşıya olduğum sorunu göstermek için bir almost minimal project yaptım, bu nedenle takip eden kod, belirtilen kod parçasına. Şu anda ne yapıyorum süslüBir Bluetooth bağlantısı olayı içinde mesaj gönderirken AppMessage geri aramaları alınmıyor Başlık

Hiçbir şey:

  1. My saat yüzüne .pebble_app_connection_handler kullanarak telefon ile bluetooth bağlantısı yukarı olduğunu notified olduğunu. Bu bluetooth callback numaralı message to the phone kullanarak app_message_outbox_send() kullanarak kurdum. BT bağlantısı olduğunda, tabiki.
  2. Android uygulamasında bu iletileri ve calls an IntentService dinleyen bir BroadcastReceiver vardır. Bir süre sonra, IntentServicecalculates the data, pushes it to the watch ve sets itself to run again. Ben bekliyordun ki

:

  1. BT bağlantısı kurma

    , bağlantı işleyicisi çağrılacak.
  2. app_message_outbox_send(), ileti başlatmanın herhangi bir hatayla karşılaşıp karşılaşmadığını bildiren bir değer döndürür. Normal olarak, bu APP_MSG_OK, ancak APP_MSG_BUSY olabilir ve bunun kesinlikle farkındayım.
  3. Telefona mesaj göndermenin senkronize olmayan sürecinin gerçekten işe yarayıp yaramadığını belirtmek için uygulama mesajı geri aramaları (app_message_register_inbox_received ve arkadaşları) çağrılmalıdır. Bu, docs numaralı belgede belirtilmiştir. Ben görüyorum Ne

:

saat yüzüne yüklendiğinde el güncelleme işlemini tetikleyebilir çünkü beklenen adımlar olur. Ancak, güncelleştirme bir BT bağlantısı olayı tarafından tetiklendiğinde, beklenen adım 1 ve 2 gerçekleşir, ancak adım 3 değil.

Bu özellikle adım 2'de APP_MSG_OK aldığımda daha da kötüleşir çünkü makul olan herşeyi beklemeliyim. saat gitmedi ve ben kendimi, uygulama mesajı geri aramalarının içinde bir şey almak için hazırlamalıyım. Temel olarak, doktorlar tarafından 'un hiçbir zaman'un gelmediği bir çağrı için beklemeleri söylendi.

Bu, zamanının% 100'ünde olur.

Yardımlarınız için teşekkür ederiz. Güncelleme aralığını takip etmek için saati kullanan başka bir çözümüm var, ancak bunun en son Android özelliklerini kullanarak daha fazla pil tasarrufu yapmamı sağladığına inanıyorum.belgelerine

cevap

3

:

ayrıca pebblekit_connection_handler alan için bir işleyici atayabilir arkadaşı bu watchapp ilişkili apps herhangi PebbleKit ilişkin bağlantı olayların bildirilmesi için. Bu, PebbleKit uygulamasına olan bağlantının durumu değiştiğinde çağrılır.

Belki de

+0

“Sen izle' pebble_app_connection_handler' abone olarak _Pebble mobil app_ bağlı olup olmadığını belirlemek için izin verir gerekenler [...] Ayrıca Çakıl izle can olmadığını belirlemek için izin verir 'pebblekit_connection_handler' öğesine abone olarak _PebbleKit companion app_ ile bir bağlantı kurun […] _Pebble mobil uygulaması ile bir bağlantı kurulduğunda Android_ için _true dönecek (PebbleKit mesajları Android uygulaması üzerinden yönlendirildiği için) ”Kaynak: https: //developer.pebble.com/docs/c/Foundation/Event_Service/ConnectionService/ – davidcesarino

+0

Ayrıca, bluetooth i olduğunda bile 'connection_service_peek_pebblekit_connection'' true' döndürdüğünü fark ettim Kapalı veya saatin Çakıl uygulamasında bağlantısı kesildi. Sadece 'connection_service_peek_pebble_app_connection' herhangi bir etkisi var gibi görünüyor. – davidcesarino

İlgili konular