我在测试/使用我正在开发的 Android Wear 表盘的手持伴侣配置活动时遇到了一些问题。虽然我对 Android 开发并不陌生,但这是我的第一个表盘应用程序,所以如果其中一些问题很明显,请让我参考相应的文档。
我有我的可穿戴模块和一个手持模块。目前手持模块只有一个活动作为配套配置。
我有两个问题是这样的:
- 当通过连接到通过 USB 连接到计算机的手持设备的穿戴模拟器进行测试/调试时,如何启动配套配置活动?在可穿戴设备上选择表盘时,不会出现“齿轮”图标(但是,我认为这是因为没有可穿戴配置活动,只是伴随配置活动,但我当然可能是错的)。
在 Android Wear 应用程序内部的手持设备上,表盘上的三个点有一个“安装设置应用程序”菜单项,但此选项只是启动 Play 商店,自然找不到任何要安装的设置应用程序。如何在手持设备上启动设置/配套配置活动。
- 如何在我的实际设备上测试/调试这些模块?我想通过 Android Studio 将手持模块加载到我的手机设备上,然后让它将可穿戴模块加载到连接的穿戴设备上。因为我似乎无法做到这一点,所以完成此操作的正确步骤是什么?
我假设我选择了手持模块活动,然后运行。在设备选择器中,我选择了连接的手持设备,一切似乎都运行完成,但在设备或物理穿戴设备上的 Android Wear 应用程序中没有显示表盘。
**** 更新 ****
当我将应用程序加载到通过蓝牙调试连接的实际可穿戴设备上时,我似乎能够很好地运行配套配置
adb forward tcp:4444 localabstract:/adb-hub
adb connect localhost:4444
仍然没有通过模拟器(如果可能的话)
作为参考,这里是清单文件。为了这个项目的隐私,我已经清理了一些数据,但不应该丢失任何重要的数据。
可穿戴清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.FOOBAR.android.FOOBAR" >
<uses-feature android:name="android.hardware.type.watch" />
<!-- Required to act as a custom watch face. -->
<uses-permission android:name="com.google.android.permission.PROVIDE_BACKGROUND" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.DeviceDefault" >
<service
android:name=".WatchfaceService"
android:label="@string/my_analog_name"
android:permission="android.permission.BIND_WALLPAPER" >
<meta-data
android:name="android.service.wallpaper"
android:resource="@xml/watch_face" />
<meta-data
android:name="com.google.android.wearable.watchface.preview"
android:resource="@drawable/preview_accuweather" />
<meta-data
android:name="com.google.android.wearable.watchface.preview_circular"
android:resource="@drawable/preview_accuweather" />
<meta-data
android:name="com.google.android.wearable.watchface.companionConfigurationAction"
android:value="com.FOOBAR.android.FOOBAR.watchface.CONFIG_HANDHELD" />
<intent-filter>
<action android:name="android.service.wallpaper.WallpaperService" />
<category android:name="com.google.android.wearable.watchface.category.WATCH_FACE" />
</intent-filter>
</service>
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
</application>
</manifest>
手持清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.FOOBAR.android.FOOBAR" >
<uses-sdk android:minSdkVersion="18"
android:targetSdkVersion="21" />
<!-- Permissions required by the wearable app -->
<uses-permission android:name="com.google.android.permission.PROVIDE_BACKGROUND" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!-- All intent-filters for config actions must include the categories
com.google.android.wearable.watchface.category.COMPANION_CONFIGURATION and
android.intent.category.DEFAULT. -->
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".HandheldConfig"
android:label="@string/app_name" >
<intent-filter>
<action android:name="com.FOOBAR.android.FOOBAR.watchface.CONFIG_HANDHELD" />
<category android:name="com.google.android.wearable.watchface.category.COMPANION_CONFIGURATION" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<!--
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
-->
</application>
</manifest>