针对Android Wear的自定义手表

Android Wear已经出现了一些包含自定义手表( like this one)的应用程序.他们不只是简单地显示表面的应用程序;它们是长时间按下手表主屏幕时可以选择的成熟面孔.我找不到有关如何设置您的应用程序以提供自定义面部的任何文档.你如何配置你的应用程序来提供一张脸?

解决方法

编辑随着Android Wear到Lollipop的更新,Android Wear Watch Faces有一个全新的(更重要的是官方的)API.

您可以查看blog post主题,阅读official documentationdownload the sample code.

这一行以下的所有内容仅供历史使用:)

您只需要提供具有特定意图过滤器的活动,并包含几个权限(here的信息).

活动:

<activity
    android:name=".WatchActivity"
    android:allowEmbedded="true"
    android:theme="@android:style/Theme.DeviceDefault.NoActionBar"
    android:label="@string/watch_preview_name">

    <Meta-data
        android:name="com.google.android.clockwork.home.preview"
        android:resource="@drawable/watch_preview_image" />

    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="com.google.android.clockwork.home.category.HOME_BACKGROUND" />
    </intent-filter>
</activity>

和权限:

<uses-permission android:name="com.google.android.permission.PROVIDE_BACKGROUND" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

顺便说一下,Play商店提到的应用程式的源代码也是availabe on github.

包括WAKE_LOCK许可的原因在this G+ post by Sam Duke中得到很好的解释.基本上,当手表变暗时,cpu进入低功耗状态,因此不会立即显示对表面显示的更新.每当屏幕需要更新时获取一个PARTIAL_WAKE_LOCK可以解决这个问题.

编辑注意,这是一个“非官方的”API,并且根据this post by Wayne Piekarski,当官方API被发布时(在Android Wear升级到L时应该会发生),它可能会在未来崩溃.

相关文章

这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...