После тщательного следования инструкциям в этом посте:
Как определить, когда устройство износа Android отключается? Мне наконец-то удалось заставить мой телефон определять, когда носимое устройство подключено с помощью 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"}")
}
Я уверен, что служба запущена, поскольку у меня запущен другой процесс
Я делаю то же самое на стороне телефона. Когда я отключаюсь / подключаюсь, Bluetooth onCapabilityChanged
правильно вызывается в сервисе телефона,
но не на службе у носимых.
Есть идеи?