gpt4 book ai didi

安卓磨损 : Starting a service on Handheld

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:56:19 27 4
gpt4 key购买 nike

我正在构建一个 Wear 应用程序,它将与手持设备上的 WearableListenerService 进行通信。但是,我想确保当应用程序在 watch 上启动时该服务已启动并正在运行。

我最初的想法是发送 Intent 或广播消息来启动服务。但是,我一直无法弄清楚如何让 watch 将其发送到配对的手持设备。

在 watch 端:

Intent intent = new Intent();
intent.setAction("my.wearable.CONNECT");
sendBroadcast(intent);

在手持端:

public class WearableBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent startServiceIntent = new Intent(context, WearableService.class);
context.startService(startServiceIntent);
}
}

<receiver android:name=".service.wearable.WearableBroadcastReceiver" >
<intent-filter>
<action android:name="my.wearable.CONNECT" />
</intent-filter>
</receiver>

最佳答案

有几件事需要清除

  1. Android Wear Device 和 Android Device 之间的通信接口(interface)如下

    • 数据接口(interface)
    • 消息接口(interface)

    使用 NodeApi 获取连接的节点 ID。

  2. 您不能从穿戴端发送 Intent 并期望在手机端接收它。

  3. 在手机端,如果您要扩展 WearableListenerService,则此服务由 Android 操作系统自行管理。这意味着,如果该服务要从 wear 接收消息或数据,Android 将自动创建该服务、为您的请求提供服务并在需要时销毁该服务。您不必在这里做任何特殊的事情。

list 中定义的 Intent (上面粘贴的副本)Android 操作系统足以执行上述服务管理。

关于安卓磨损 : Starting a service on Handheld,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26656252/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com