【问题标题】:OnCapabilityChanged working on phone but not on wearableOnCapabilityChanged 在手机上工作但不在可穿戴设备上
【发布时间】:2019-01-18 14:50:32
【问题描述】:

仔细按照本文中的说明进行操作后:

How to detect when android wear device gets disconnected? 我终于设法让我的手机检测到何时使用onCapabilityChanged 连接了可穿戴设备。

我在可穿戴设备上执行了完全相同的步骤,我试图检测手机何时连接到可穿戴设备,但从未触发onCapabilityChanged

wear.xml(在手机上)

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="android_wear_capabilities">
        <item>track_phone</item>
    </string-array>
</resources>

在 AndroidManifest(可穿戴)中

<service android:name=".BackgroundService.WearableService"
            android:enabled="true"
            android:exported="true" >
            <intent-filter>
                <action android:name="com.google.android.gms.wearable.CAPABILITY_CHANGED" />
                <data android:scheme="wear" android:host="*"/>
            </intent-filter>
        </service>

在 WearableService 中(在可穿戴设备上)

override fun onCapabilityChanged(p0: CapabilityInfo?) {
    super.onCapabilityChanged(p0)
    Log.i("WearableService", "Capability changed: {${p0?.nodes?.size ?: "null"}")
}

我确定该服务已启动,因为我正在运行另一个进程

我在手机端做同样的事情。当我断开/连接蓝牙onCapabilityChanged在电话服务中正确调用时, 但不在可穿戴设备的服务上。

有什么想法吗?

【问题讨论】:

  • 您的代码看起来像什么不起作用?请提供一个 Minimal, Complete, and Verifiable example 来证明该问题。
  • 您提到您已验证您的服务已启动。您是否还验证了您的服务在应该接收 onCapabilityChanged 调用时仍在运行?
  • @TofferJ 谢谢,是的,我有
  • @Mr.Rebot 好的,会的
  • @Mr.Rebot 我已经按照你的建议做了,并且在那个简单的项目中它正在工作..所以在我的主项目中某处发生冲突或无法正常工作..努力找出什么..

标签: android wear-os android-wear-data-api android-wear-2.0


【解决方案1】:

在尝试了一切以使其正常工作后,我选择使用标准的Service 而不是WearableListenerService

我在Service上实现了CapabilityClient.OnCapabilityChangedListener

override fun onCapabilityChanged(p0: CapabilityInfo) {
        Log.i("WearService", "Wearable Capability changed: {${p0?.nodes?.size ?: "null"}")
    }

并注册了监听器:

override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
Wearable.getCapabilityClient(this).addListener(this, CAPABILITY)
        return super.onStartCommand(intent, flags, startId)
}

【讨论】:

    猜你喜欢
    • 2017-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多