WearableListenerService仅在安装应用程序后启动 - 然后再也不会

时间:2014-11-13 12:00:44

标签: android wear-os

我正在使用Android Wear支持开发Android应用程序。

主应用程序将数据发送到Android佩戴应用程序WearableListenerService,然后发出通知并显示它。

我的问题是,如果我重新启动Watch,Android Wear应用程序永远无法再次启动 - 因为Wear设备上的侦听器服务并不是从移动应用程序开始的!

我已经尝试强制关闭应用并重新启动它,重新启动手机 - 无论我做什么,听众服务都无法再次启动。

当我从Android Studio安装应用程序时,它可以正常工作,它将一直有效,直到重新启动手表。 (我可以重新启动手机并关闭应用程序)

有没有人遇到类似的问题或知道解决方案?

所以我提供了更多信息:

当手表启动时,我在日志中捕获了此消息(这显然是问题的根源):

11-27 17:22:08.974      803-830/com.google.android.clockwork.packageinstaller I/WearablePkgInstaller﹕ Sent delete request for com.example.distributedmediaplayer
11-27 17:22:09.074      473-509/system_process I/ActivityManager﹕ Force stopping com.example.distributedmediaplayer appid=10032 user=-1: uninstall pkg
11-27 17:22:09.084      473-517/system_process W/PackageManager﹕ Couldn't delete native library directory /data/app-lib/com.example.distributedmediaplayer
11-27 17:22:09.274      473-517/system_process I/ActivityManager﹕ Force stopping com.example.distributedmediaplayer appid=10032 user=0: pkg removed
11-27 17:22:09.574      803-814/com.google.android.clockwork.packageinstaller I/WearablePkgInstaller﹕ Package com.example.distributedmediaplayer was uninstalled.
11-27 17:22:44.721    1166-1182/android.process.acore D/VoicemailCleanupService﹕ Cleaning up data for package: com.example.distributedmediaplayer
11-27 17:22:44.891      637-637/com.google.android.gms I/ConfigFetchService﹕ PackageReceiver: Intent { act=android.intent.action.PACKAGE_REMOVED dat=package:com.example.distributedmediaplayer flg=0x4000010 cmp=com.google.android.gms/.config.ConfigFetchService$PackageReceiver (has extras) }
11-27 17:22:44.901      637-637/com.google.android.gms I/ConfigFetchService﹕ onStartCommand Intent { act=android.intent.action.PACKAGE_REMOVED dat=package:com.example.distributedmediaplayer cmp=com.google.android.gms/.config.ConfigFetchService (has extras) }

所以问题就变成了什么使我的应用程序在设备启动时卸载了?

1 个答案:

答案 0 :(得分:2)

这个Service并没有一直在运行 - 实际上,它只在消息处理期间运行。 Google Play Services Wear API负责启动您的WearableListenerService,因此只要其在IntentFilter中包含正确的AndroidManifest设置,您就无需执行任何特殊操作。