0

Android コンパニオン アプリから Pebble ウォッチフェイス アプリにメッセージを送信しようとしていますが、APP_MSG_BUSYエラーで失敗します。ログを読むと、繰り返し発生している次の一連のイベントを再構築できます。

  1. 小石アプリの呼び出しapp_message_outbox_send
  2. Android コンパニオン アプリが通話を受信しPebbleDataReceiver.receiveDataます。
  3. Android コンパニオン アプリの呼び出しPebbleDataReceiver.sendAckToPebble(context, id)
  4. Pebble アプリoutbox_sentが電話を受ける。
  5. Android コンパニオン アプリは、約 70 ミリ秒もかからない作業を行います。
  6. Android コンパニオン アプリの呼び出しPebbleKit.sendDataToPebble
  7. Pebble アプリはinbox_droppedで電話を受けますAPP_MSG_BUSY
  8. adb logcat次の警告が表示されます。

Pbl : [AppMessage] transactionId の UUID がありません: -1
Pbl : [JsInAppMessageHandler] sendAckNackToJs: run: uuid が null であるため、javascript コードに ack メッセージを送信できません

APP_MSG_BUSY進行中の着信または発信メッセージがあることを示します。ただし、上記のイベントから、送信メッセージがないことがわかります。また、これは、Pebble アプリが再起動後に最初に受信するメッセージであっても、すべての受信メッセージで発生します。

ここで何が起こっているのかについて、誰かが洞察を提供できますか?

4

1 に答える 1

0

を呼び出したときにapp_message_open、 に渡した値size_inboundが小さすぎて、送信されたメッセージを受信できませんでした。残念ながら、AppMessageResult私の inbox_dropped 関数に与えられた は、APP_MSG_BUFFER_OVERFLOW期待どおりではありませんでしたが、APP_MSG_BUSY.

まったくの憶測ですが、これを悪化させたのは、それsize_outboundが十分に大きかったことです。実際、私の間違いは引数size_inboundsize_outbound引数を入れ替えていました。おそらく、論理的にAPP_MSG_BUFFER_OVERFLOWは、バッファの少なくとも 1 つが十分に大きいため、送信する意味がなかったのでしょうか?

于 2016-07-06T00:51:49.030 に答える