問題タブ [pebble-appmessage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - pebblekit js は配列を appmessage によって pebble C に送信します
私が作成した pebble.js アプリに基づいた最初の Pebble C アプリをコーディングしようとしています。基本的にバスの時刻表を表示しています。
私の質問は、メニューを構築できるように、appmessage によって pebblekit js から pebble C に情報を渡すにはどうすればよいですか? appmessage で多次元配列を時計に渡すにはどうすればよいですか?
これは、pebblekit js がウォッチに送信する必要がある json の例です。
pebble-sdk - APP_MSG_BUSY が原因で電話から Android へのメッセージがドロップされたことを診断しますか?
Android コンパニオン アプリから Pebble ウォッチフェイス アプリにメッセージを送信しようとしていますが、APP_MSG_BUSY
エラーで失敗します。ログを読むと、繰り返し発生している次の一連のイベントを再構築できます。
- 小石アプリの呼び出し
app_message_outbox_send
。 - Android コンパニオン アプリが通話を受信し
PebbleDataReceiver.receiveData
ます。 - Android コンパニオン アプリの呼び出し
PebbleDataReceiver.sendAckToPebble(context, id)
。 - Pebble アプリ
outbox_sent
が電話を受ける。 - Android コンパニオン アプリは、約 70 ミリ秒もかからない作業を行います。
- Android コンパニオン アプリの呼び出し
PebbleKit.sendDataToPebble
。 - Pebble アプリは
inbox_dropped
で電話を受けますAPP_MSG_BUSY
。 adb logcat
次の警告が表示されます。
Pbl : [AppMessage] transactionId の UUID がありません: -1
Pbl : [JsInAppMessageHandler] sendAckNackToJs: run: uuid が null であるため、javascript コードに ack メッセージを送信できません
APP_MSG_BUSY
進行中の着信または発信メッセージがあることを示します。ただし、上記のイベントから、送信メッセージがないことがわかります。また、これは、Pebble アプリが再起動後に最初に受信するメッセージであっても、すべての受信メッセージで発生します。
ここで何が起こっているのかについて、誰かが洞察を提供できますか?
android - AppMessage が散発的に配信されない
Android 側 (ブロードキャスト レシーバー内) からメッセージを送信すると、メッセージが常に Pebble ウォッチに届かないという問題があります。一貫性がなく、うまくいくこともあります。
APP_MSG_BUSY の結果が得られなくなりました (Android->Pebble に 1 つのメッセージだけを送信しようとしています)。
これはごく簡単に、少量のデータ (<64 バイト) を送信する方法です。
受信トレイと送信トレイのサイズを最大に設定しています。
小石側では、コールバックを登録し、メッセージを次のように処理します。
注: 登録済みもありinbox_dropped_callback
ますが、簡潔にするために含めていません。
私は Android 側でメッセージを適切に N/ACK しました (難しい方法を学びました) が、Pebble 側でメッセージを N/ACK する方法がわかりません。コールバックを提供するだけで十分だと思いますか?
良いニュースは、時々うまくいくということです. 悪いニュースは、動作を停止すると、ほぼ完全に動作しなくなり、かなりの時間 (15 分以上) 動作しなくなることです。受信トレイがいっぱいになっていると思われますが、確認方法がわかりません。
編集: Android 側に Ack と Nack の両方のハンドラーを追加しましたが、メッセージを送信すると Nack が返されます。Pebble ウォッチが許可しない理由を突き止める必要があります。推測はありますか?
Androidのlogcatでもこれを見つけます:
UUID が正しく設定されていることを確認しました。