Pebble App Message发送超时

时间:2015-06-05 05:27:47

标签: pebble-watch pebble-sdk cloudpebble

我正在尝试从here运行pebble-faces示例项目(它从URL下载图像并将其发送到监视面)。我尝试在CloudPebble和本地C SDK模拟器上运行该项目。我得到了相同的结果。我认为将应用消息发送到javascript有问题。这是来自cloudpebble的日志:

public class Index {

    void tellme(String yourname) {
        /* ... */
    }

    public static void main(String[] args) throws Exception {
        Method tellme = Index.class.getDeclaredMethod("tellme", String.class);
        Method java8Params = null;
        try {
            java8Params = Method.class.getMethod("getParameters");
        } catch (NoSuchMethodException t) { /* ignore */ }
        if (java8Params != null) {
            // java 1.8 !!
            Object param = ((Object[]) java8Params.invoke(tellme))[0];
            System.out.printf("(java8) %s %s(%s %s){/*...*/}",
                    tellme.getReturnType(),
                    tellme.getName(),
                    param.getClass().getMethod("getType").invoke(param),
                    param.getClass().getMethod("getName").invoke(param));
        } else {
            // java 1.7 ...
            System.out.printf("(java7) %s %s(%s %s){/*...*/}",
                    tellme.getReturnType(),
                    tellme.getName(),
                    tellme.getParameterTypes()[0].getName(),
                    "arg0");
        }
    }
}

我尝试做更多调试。这是有问题的功能:

def rand_constrained(n,tot):
    r = [random.random() for i in range(n)]  
    s = sum(r)
    r = [(i/s*tot) for i in r] 
    return r

注意:我添加了用于调试的APP_LOG和app_message_open(文档说这是为了最佳实践)。 app_message_open没有任何效果,问题仍然存在。

是否发生此问题是因为我正在使用模拟器?我没有改变这个项目代码中的任何其他内容..

1 个答案:

答案 0 :(得分:0)

你的问题是JS开始花费比应用程序更长的时间。消息在准备好接收之前发送到JS模拟器。如果你"摇晃"手表(发送点击事件),它会再次尝试传输图像。

  

要与模拟器进行交互,请单击侧面的按钮,或单击屏幕,然后使用按钮的箭头键。在键盘模式下,您也可以按X,Y或Z按正方向点击,或按Shift-X,shift-Y或shift-Z按向负方向点击。

Source