5

我想知道,为什么 ActivityRecognitionClient 没有使用标准 java 侦听器作为参数请求更新的方法?更奇怪的是,同时LocationСlient有这样的方法,而且效果很好。

活动识别的官方示例看起来很糟糕。很多耦合和样板代码。看起来 IntentService 是处理来自 ActivityRecognitionClient 的更新的唯一变体。这是非常不舒服的。

@Guys 来自 Android 团队,为什么会这样?

作为开发人员,我希望在下一版本的 Google Play 服务中看到 requestActivityUpdates(interval, listener) 方法。

现在,有谁知道,是否可以使用 BroadcastReceiver 来处理来自 ActivityRecognitionClient 的更新?

4

1 回答 1

5

我想知道,为什么 ActivityRecognitionClient 没有使用标准 java 侦听器作为参数请求更新的方法?

许多好的问题会根据专家的经验产生一定程度的意见,但这个问题的答案往往几乎完全基于意见,而不是事实、参考资料或特定的专业知识。

除此之外,引用以下文档requestActivityUpdates()

一个常见的用例是应用程序想要在后台监视活动并在检测到特定活动时执行操作。要做到这一点而不需要始终在后台消耗资源的服务,检测到的活动是通过意图传递的。应用程序指定了一个 PendingIntent 回调(通常是一个 IntentService),当检测到活动时将调用该回调。

 

看起来 IntentService 是处理来自 ActivityRecognitionClient 的更新的唯一变体。

它不是。

现在,有谁知道,是否可以使用 BroadcastReceiver 来处理来自 ActivityRecognitionClient 的更新?

有几种类型PendingIntent,由各种工厂方法创建。该示例显示使用getService()创建一个PendingIntent将调用startService(). 欢迎您使用任何其他PendingIntent的,例如一个 from getBroadcast(),它会调用sendBroadcast()

于 2013-07-03T11:15:17.677 回答