已经有一些针对Android Wear的应用程序发布了自定义手表面板(像这样的)。它们不仅仅是简单地显示手表面板的应用程序;它们是完整的面板,在长按手表主屏幕时可选择。我找不到任何关于如何设置您的应用程序来提供自定义面板的文档。您如何配置您的应用程序以提供面板?
编辑 随着Android Wear升级到Lollipop,现在有一个崭新的(更重要的是官方的)Android Wear手表表盘API。
下面的所有内容仅用于历史目的 :)
您只需要提供一个带有特定意图过滤器的Activity,并包含一些权限(信息来自这里)。
Activity:
<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商店中的源代码也可以在GitHub上找到。
在Sam Duke的Google+帖子中非常详细地解释了包含WAKE_LOCK权限的原因。基本上,当手表变暗时,CPU进入低功耗状态,以便手表面板的更新不会立即显示。每当需要更新屏幕时获取PARTIAL_WAKE_LOCK就可以解决这个问题。
编辑请注意,这是一个“非官方”的API,根据Wayne Piekarski的帖子,当Android Wear升级到L版时,它可能会失效,因为官方API将被发布。
http://androidworks-kea.blogspot.com/2015/02/developers-notes-v-custom-watch-faces.html
WAKE_LOCK
似乎不需要。 - Jarett Millard