我有一个问题,当我从 Android 端(在广播接收器中)发送消息时,消息并不总是能发送到 Pebble 手表。它是不一致的,有时它会起作用。
我不再收到 APP_MSG_BUSY 结果(我只想发送一条消息 Android->Pebble)。
这就是我发送少量数据(<64 字节)的方式:
PebbleKit.sendDataToPebble(context, appUuid, dict)
我将收件箱和发件箱的大小配置为最大值。
在鹅卵石方面,我已经注册了我的回调,并按如下方式处理消息:
static void inbox_received_callback(DictionaryIterator *iter, void *context) {
// A new message has been successfully received
APP_LOG(APP_LOG_LEVEL_INFO, "Message received");
}
注意:还有一个inbox_dropped_callback
已注册的,但为简洁起见,我没有将其包括在内。
我已经在 Android 端正确地对消息进行了 N/ACK(很难学到),但我没有看到在 Pebble 端对消息进行 N/ACK 的方法。我假设提供回调就足够了?
好消息是它有时会起作用,所以我知道我已经正确配置了一切。坏消息是,当它停止工作时,它几乎完全停止工作并持续相当长的一段时间(15 分钟或更长时间)。我怀疑收件箱正在填满,但我不知道如何检查。
编辑:我在 Android 端添加了一个 Ack 和一个 Nack 处理程序,当我发送消息时我得到一个 Nack。我需要弄清楚为什么我的 Pebble 手表不允许。有什么猜测吗?
我也在 Android 的 logcat 中找到了这个:
10-05 13:16:37.206 8361-2610/? W/Pbl: [AppMessage] there is not UUID for transactionId : -1
我已确认我的 UUID 设置正确。