Sony SmartWatch Control Extension,显示我的应用程序中的视图

时间:2013-08-19 20:34:13

标签: android sony sony-smartwatch

我想在智能手表上显示现有App XYZ的输出(位图)。据我所知,Control API是可以采用的方法,但索尼SDK和OpenSource项目(8Game和MusicPlayer)中的现有示例对我来说并不清楚。我是否正确,我需要将以下类集成到现有的应用程序中?

  • MyControlWatch.java
  • MyExtensionReceiver.java
  • MyExtensionService.java
  • MyRegistrationInformation.java

我还需要什么?如何让SmartWatch显示我的位图?我是否必须发送CONTROL_START_REQUEST_INTENT,如果是,我应该从哪里发送?我需要从给定的SampleControlExtension更改以获取结果吗?

2 个答案:

答案 0 :(得分:1)

是的,这些是显示控制扩展所需的类。您无需必须发送CONTROL_START_REQUEST_INTENT。仅当您想要从另一个扩展程序启动控制扩展时才会这样。

查看SDK的/ samples目录中包含的SampleControlSmartWatch.java类中的示例代码。检查Animation()类构造函数以获取示例。基本上你需要创建一个布局然后添加你的位图然后调用showBitmap()。

答案 1 :(得分:0)

索尼应该创建迷你教程,可以用于像u.u

这样的东西
  

/ **        *这是如何更新整个布局和一些的示例        *意见。对于每个视图,使用一个包。此捆绑包必须具有布局        *引用,即视图ID和要使用的内容。这种方法        *更新ImageView和TextView。        *        * @see Control.Intents#EXTRA_DATA_XML_LAYOUT        * @see Registration.LayoutSupport        * /

private void updateLayout() {
    mCount = 0;
    mIconImage = true;

    String caption = mContext.getString(R.string.text_tap_to_update);

    // Prepare a bundle to update the button text.
    Bundle bundle1 = new Bundle();
    bundle1.putInt(Control.Intents.EXTRA_LAYOUT_REFERENCE, R.id.btn_update_this);
    bundle1.putString(Control.Intents.EXTRA_TEXT, caption);

    // Prepare a bundle to update the ImageView image.
    Bundle bundle2 = new Bundle();
    bundle2.putInt(Control.Intents.EXTRA_LAYOUT_REFERENCE, R.id.image);
    bundle2.putString(Control.Intents.EXTRA_DATA_URI,
            ExtensionUtils.getUriString(mContext, R.drawable.icon_extension48));

    Bundle[] bundleData = new Bundle[2];
    bundleData[0] = bundle1;
    bundleData[1] = bundle2;

    showLayout(R.layout.layout, bundleData);
}