【问题标题】:How can I send data from sony smartwatch 2 to an android device如何将数据从索尼智能手表 2 发送到安卓设备
【发布时间】:2014-05-13 19:07:19
【问题描述】:

我目前正在开发一个简单的应用程序,需要将数据从索尼智能手表 2 发送到主机应用程序。我已经阅读了 SONY 发布的示例代码和 API 参考,但我无法理解如何使用控制实用程序。

我正在尝试将数据推送到主机应用程序,并且我能够创建通过蓝牙在两部 Android 手机之间发送数据的应用程序,但我无法将其转换为兼容索尼智能手表的代码。是否有任何提示或示例代码向我展示如何将数据/文件/消息从智能手表发送到主机应用程序?

【问题讨论】:

  • 你要发送什么数据?
  • 我想发送一个字符串。另外,我想定期发送字符串。
  • 你的意思是什么?我正在尝试触发控制事件并创建和发送字符串。
  • 什么样的控制事件?我的回答有点含糊。
  • 例如,当用户点击列表项或按钮时,智能手表会向宿主应用发送“hello”等字符串,宿主应用会在屏幕上显示字符串“hello”

标签: android sony sony-smartwatch


【解决方案1】:

查看 /samples 文件夹中 Sony Add-on SDK 中的 SampleControlExtension 项目。这应该向您展示如何在屏幕上绘制布局,并且是学习如何在设备上绘制和显示文本的良好起点。

【讨论】:

  • 我研究了那个示例代码,我知道如何在智能手表上触发事件,但我不明白如何从智能手表控制手机上的主机应用程序
  • 我刚刚看到 SampleControlExtension 演示了我们如何触发输入,但我看不到 SampleControlExtension 的反应,有什么我遗漏的吗?我看到文档说这个示例显示了附件如何支持输出事件,但实际上我只能看到单击菜单按钮时的反应。
【解决方案2】:

如果您想从 Control Extension 更新 Activity,最简单的方法是使用 Intent。这是一个方法示例,您可以在某些事件被触发后从您的扩展程序中调用:

private void sendEventToActivity(String anyData) {
    Intent intent = new Intent(mContext, YourActivity.class);

    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);

    intent.putExtra("anyData", anyData);

    mContext.startActivity(intent);
}

然后为您的 Activity 覆盖 onNewIntent

@Override
protected void onNewIntent(Intent intent) {
    String anyData = intent.getStringExtra("anyData");
}

通过这种方式,它会与正在运行的 Activity 进行通信,或者创建一个新的(如果尚未运行)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-09
    • 2014-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多