WearableListenerService просыпается только тогда, когда я открываю свое приложение

Я успешно реализовал связь между моим телефоном и приложением для часов через WearableListenerServices в обоих модулях. Однако по большей части это работает отлично, если я не использую приложение для телефона через некоторое время, приложение для часов перестает общаться. Это говорит о том, что служба WearableListenerService не «пробуждается», как ожидалось. Чтобы исправить это, мне нужно открыть приложение для телефона, и в следующий раз приложение для часов снова отлично взаимодействует.

Есть ли способ, которым я могу гарантировать, что он будет «разбужен»? Или я что-то упускаю?

Манифест телефона:

<service android:name=".app.util.ListenerService">
            <intent-filter>
                <action android:name="com.google.android.gms.wearable.MESSAGE_RECEIVED" />

                <data
                    android:host="*"
                    android:scheme="wear" />
            </intent-filter>
        </service>

Носите приложение:

<service android:name=".util.ListenerService">
            <intent-filter>
                <action android:name="com.google.android.gms.wearable.MESSAGE_RECEIVED" />
                <data
                    android:host="*"
                    android:scheme="wear" />
            </intent-filter>
        </service>

Если вам нужна дополнительная информация о конкретной реализации слушателей, я буду рад предоставить ее, но это не кажется уместным. Спасибо!


person Adam Short    schedule 22.09.2016    source источник
comment
У вас когда-нибудь это работало? Та же проблема здесь   -  person user2161301    schedule 22.03.2018
comment
@user2161301 user2161301, к сожалению, не извиняюсь, я также отошел от Android-разработчика, поэтому я тоже не могу указать вам какое-либо направление.   -  person Adam Short    schedule 24.03.2018
comment
Спасибо за ваш ответ. Теперь он работает в 80% случаев, обновляя GMS или что-то еще, что API должен работать, но 80% все еще очень плохо, давайте посмотрим, что я могу найти.   -  person user2161301    schedule 29.03.2018


Ответы (1)


Мы все знали, что приложение BIND_LISTENER для носимых устройств уже устарело и он заменяется мелкозернистым фильтром намерений. Поэтому убедитесь, что вы используете правильные фильтры для своего приложения. Вы можете узнать значение и назначение отдельных фильтров здесь.

Попробуйте проверить эту документацию по созданию приложений для носимых устройств, она показывает вы, как использовать WearableListenerService для вашего приложения. Он также предоставляет пример кода, который вы можете проверить, правильно ли вы реализовали этот код в своем приложении.

person KENdi    schedule 23.09.2016