Fix declaration of var and incorrect method call (18617393) bug: 18864041 bug: 18617393 Change-Id: Ic31e44acfe7338f56acdbbd97ba8cc1e87042b53
158 lines
7.0 KiB
Plaintext
158 lines
7.0 KiB
Plaintext
page.title=Providing Configuration Activities
|
|
|
|
@jd:body
|
|
|
|
<div id="tb-wrapper">
|
|
<div id="tb">
|
|
<h2>This lesson teaches you to</h2>
|
|
<ol>
|
|
<li><a href="#Intent">Specify an Intent for Configuration Activities</a></li>
|
|
<li><a href="#WearableActivity">Create a Wearable Configuration Activity</a></li>
|
|
<li><a href="#CompanionActivity">Create a Companion Configuration Activity</a></li>
|
|
</ol>
|
|
<h2>You should also read</h2>
|
|
<ul>
|
|
<li><a href="{@docRoot}design/wear/watchfaces.html">Watch Faces for Android Wear</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<p>When users install a handheld app that contains a <a
|
|
href="{@docRoot}training/wearables/apps/index.html">wearable app</a> with watch faces, these
|
|
watch faces become available in the Android Wear companion app on the companion device and in
|
|
the watch face picker on the wearable. Users can choose the active watch face for their wearable
|
|
device by selecting it on the companion app or using the watch face picker on the wearable
|
|
device.</p>
|
|
|
|
<p>Some watch faces support configuration parameters to let users customize how the watch face
|
|
looks and behaves. For example, some watch faces let users pick a custom background color, and
|
|
watch faces that tell time for two different time zones can let users select which time zones
|
|
they are interested in.</p>
|
|
|
|
<p>Watch faces that support configuration parameters can let users customize a watch face using
|
|
an activity in the wearable app, an activity on the handheld app, or both. Users can start the
|
|
wearable configuration activity on the wearable device, and they can start the companion
|
|
configuration activity from the Android Wear companion app.</p>
|
|
|
|
<p>The digital watch face from the <em>WatchFace</em> sample in the Android SDK demonstrates how to
|
|
implement handheld and wearable configuration activities and how to update a watch face in
|
|
response to configuration changes. This sample is located in the
|
|
<code>android-sdk/samples/android-21/wearable/WatchFace</code> directory.</p>
|
|
|
|
|
|
|
|
<h2 id="Intent">Specify an Intent for Configuration Activities</h2>
|
|
|
|
<p>If your watch face includes configuration activities, add the following metadata entries to
|
|
the service declaration in the manifest file of the wearable app:</p>
|
|
|
|
<pre>
|
|
<service
|
|
android:name=".DigitalWatchFaceService" ... />
|
|
<!-- companion configuration activity -->
|
|
<meta-data
|
|
android:name=
|
|
"com.google.android.wearable.watchface.companionConfigurationAction"
|
|
android:value=
|
|
"com.example.android.wearable.watchface.CONFIG_DIGITAL" />
|
|
<!-- wearable configuration activity -->
|
|
<meta-data
|
|
android:name=
|
|
"com.google.android.wearable.watchface.wearableConfigurationAction"
|
|
android:value=
|
|
"com.example.android.wearable.watchface.CONFIG_DIGITAL" />
|
|
...
|
|
</service>
|
|
</pre>
|
|
|
|
<p>Provide values for these entries that are preceded by the package name of your app.
|
|
Configuration activities register intent filters for this intent, and the system fires this
|
|
intent when users want to configure your watch face.</p>
|
|
|
|
<p>If your watch face only includes a companion or a wearable configuration activity, you only
|
|
need to include the corresponding metadata entry from the example above.</p>
|
|
|
|
|
|
|
|
<h2 id="WearableActivity">Create a Wearable Configuration Activity</h2>
|
|
|
|
<p>Wearable configuration activities provide a limited set of customization choices for a
|
|
watch face, because complex menus are hard to navigate on smaller screens. Your wearable
|
|
configuration activity should provide binary choices and just a few selections to customize
|
|
the main aspects of your watch face.</p>
|
|
|
|
<p>To create a wearable configuration activity, add a new activity to your wearable app module
|
|
and declare the following intent filter in the manifest file of the wearable app:</p>
|
|
|
|
<pre>
|
|
<activity
|
|
android:name=".DigitalWatchFaceWearableConfigActivity"
|
|
android:label="@string/digital_config_name">
|
|
<intent-filter>
|
|
<action android:name=
|
|
"com.example.android.wearable.watchface.CONFIG_DIGITAL" />
|
|
<category android:name=
|
|
<strong>"com.google.android.wearable.watchface.category.WEARABLE_CONFIGURATION"</strong> />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
</intent-filter>
|
|
</activity>
|
|
</pre>
|
|
|
|
<p>The name of the action in this intent filter must match the intent name you defined in
|
|
<a href="#Intent">Specify an Intent for Configuration Activities</a>.</p>
|
|
|
|
<p>In your configuration activity, build a simple UI that provides selections for users to
|
|
customize your watch face. When users make a selection, use the <a
|
|
href="{@docRoot}training/wearables/data-layer/index.html">Wearable Data Layer API</a> to
|
|
communicate the configuration change to the watch face activity.</p>
|
|
|
|
<p>For more details, see the <code>DigitalWatchFaceWearableConfigActivity</code> and
|
|
<code>DigitalWatchFaceUtil</code> classes in the <em>WatchFace</em> sample.</p>
|
|
|
|
|
|
|
|
<h2 id="CompanionActivity">Create a Companion Configuration Activity</h2>
|
|
|
|
<p>Companion configuration activities give users access to the full set of configuration choices
|
|
for a watch face, because it is easier to interact with complex menus on the larger screen of
|
|
a handheld device. For example, a configuration activity on a handheld device enables you to
|
|
present users with elaborate color pickers to select the background color of a watch face.</p>
|
|
|
|
<p>To create a companion configuration activity, add a new activity to your handheld app module and
|
|
declare the following intent filter in the manifest file of the handheld app:</p>
|
|
|
|
<pre>
|
|
<activity
|
|
android:name=".DigitalWatchFaceCompanionConfigActivity"
|
|
android:label="@string/app_name">
|
|
<intent-filter>
|
|
<action android:name=
|
|
"com.example.android.wearable.watchface.CONFIG_DIGITAL" />
|
|
<category android:name=
|
|
<strong>"com.google.android.wearable.watchface.category.COMPANION_CONFIGURATION"</strong> />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
</intent-filter>
|
|
</activity>
|
|
</pre>
|
|
|
|
<p>In your configuration activity, build a UI that provides options to customize all the
|
|
configurable elements of your watch face. When users make a selection, use the <a
|
|
href="{@docRoot}training/wearables/data-layer/index.html">Wearable Data Layer API</a> to
|
|
communicate the configuration change to the watch face activity.</p>
|
|
|
|
<p>For more details, see the <code>DigitalWatchFaceCompanionConfigActivity</code> class in the
|
|
<em>WatchFace</em> sample.</p>
|
|
|
|
|
|
|
|
<h2 id="Listener">Create a Listener Service in the Wearable App</h2>
|
|
|
|
<p>To receive updated configuration parameters from the configuration activities, create a
|
|
service that implements the <code>WearableListenerService</code> interface from the <a
|
|
href="{@docRoot}training/wearables/data-layer/index.html">Wearable Data Layer API</a> in your
|
|
wearable app. Your watch face implementation can redraw the watch face when the configuration
|
|
parameters change.</p>
|
|
|
|
<p>For more details, see the <code>DigitalWatchFaceConfigListenerService</code> and
|
|
<code>DigitalWatchFaceService</code> classes in the <em>WatchFace</em> sample.</p>
|