【问题标题】:How to Initiate a service in android watch from phone?如何通过手机在安卓手表中启动服务?
【发布时间】:2016-01-10 17:28:38
【问题描述】:

我目前正在使用安卓手表和手机进行手势识别。我开发了一款手机应用和一款手表应用。手表应用程序识别手势并向手机发送消息以显示手势。现在我想从我的手机启动应用程序。我可以通过按下手机应用程序中的按钮来启动手表应用程序吗?或者我可以通过单击手机应用程序中的任何按钮在手表中启动服务吗?基本上我想让用户不要触摸手表来启动他的应用程序。通过启动手表应用程序,我基本上开始为应用程序收集传感器数据以识别手势。

【问题讨论】:

    标签: android wear-os


    【解决方案1】:

    是的,这是可行的:

    1. 向您的手表发送消息(使用 MessageApi)
    2. 在手表上的应用程序中有一个 WearableListenerService,这样手表上的应用程序即使没有运行也可以捕获消息
    3. 在该服务中,启动所需的活动。

    您也可以使用 WearCompanionLibrary,它通过一个简单的 API 为您完成所有这些工作。

    【讨论】:

    • 非常感谢您的回复。所以即使应用程序没有运行,也会收到来自手机的消息?如何在不启动应用程序的情况下运行 WearableListenerService?我不知道该怎么做。我希望 WCL 有那个代码。
    • 如果你想使用 WCL,它有一个文档和一个示例应用程序,所以你应该能够轻松地做到这一点。如果您想自己做,您可能需要阅读 WearableListenerService;当收到您的应用程序的消息时,框架会调用该服务,无论应用程序是否正在运行。
    • 嗨,阿里,我有一个疑问。我使用 Wea​​rableListenerService 在手表中启动应用程序。我相信这是一项后台服务(如果我错了,请纠正我)。那么它被Android杀死的可能性有多大?既然是安卓自己提供的,会一直运行吗?关于我的工作,我会启动服务,在手表中启动一个应用程序,并长时间使用它来识别手势。
    • Anuroop,那不是一直运行的服务;仅当您的应用程序有消息/数据时,它才由框架启动(通过绑定),此时,框架启动该服务,并且在服务的工作完成后不久,它就会消失。您可能需要阅读通过绑定启动的服务(相对于通过 startService() 启动的服务)以了解区别。
    • 非常感谢您的回复。因此,它可用于从手机启动或停止手表中的应用程序。一旦应用程序启动,我相信它会正常运行。如果手表中的应用程序被杀死,我可以在手机上收到通知吗?有没有办法做到这一点?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-19
    • 2012-06-24
    • 2022-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多