【问题标题】:Google Fit Listen for Data Updates not workingGoogle Fit 监听数据更新不起作用
【发布时间】:2016-07-05 09:12:40
【问题描述】:

我正在尝试在数据更新到 Google Fit 服务时实现 Google Fit Listener。

在这个link of Google Fit documentation 中有一个简单的例子,但是,它不是100% 清楚的。因此,我有两个问题:

  1. 我不知道如何实现mResultCallback 变量(本文档中没有任何示例)。
  2. 当我定义一个简单的ResultCallback(它似乎可以工作,但我不确定)并启动应用程序时,它给了我一个结果错误代码:java.lang.SecurityException: Signature check failed

【问题讨论】:

    标签: java android google-api google-fit


    【解决方案1】:

    HistortyApi 中的代码列出了需要的 android.permission.ACCESS_FINE_LOCATION 或 android.permission.BODY_SENSORS 之一。

    向我的代码添加这些权限并没有解决同样的问题。

    已确认 Google Fit 服务存在错误。请参阅https://plus.google.com/110141422948118561903/posts/Lqri4LVR7cD中的讨论

    【讨论】:

      【解决方案2】:

      mResultCallback 是一个 ResultCallback 所以你需要实现一个该类型的类。文档是 here,但您只需要实现一种方法:

      public abstract void onResult (Status result)
      

      标准方法是在声明 mResultCallback 或将其用作参数时使用匿名类来执行此操作。下面是来自 Google 的 BasicRecordingAPI 示例的示例:

      Fitness.RecordingApi.subscribe(mClient, DataType.TYPE_ACTIVITY_SAMPLE)
          .setResultCallback(new ResultCallback<Status>() {
              @Override
              public void onResult(Status status) {
                  if (status.isSuccess()) {
                      if (status.getStatusCode()
                              == FitnessStatusCodes.SUCCESS_ALREADY_SUBSCRIBED) {
                          Log.i(TAG, "Existing subscription for activity detected.");
                      } else {
                          Log.i(TAG, "Successfully subscribed!");
                      }
                  } else {
                      Log.i(TAG, "There was a problem subscribing.");
                  }
              }
      });
      

      如果你想使用成员变量,你可以简单地进行赋值:

      ResultCallback<Status> mResultCallback = new ResultCallback<Status>() {
          @Override
          public void onResult(Status status) {
              ...
          }
      });
      

      当然,您可以定义一个非匿名类,但如果您对每个回调都这样做,您最终会创建很多类。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多