针对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性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...