问题标签 [activity-recognition]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
597 浏览

android - 取消所有活动识别请求(android)

我遇到了一个奇怪的情况,我之前为活动识别更新创建了待处理的意图

我的 getIntentID 代码是

我这样做是因为我想确保每次停止和启动服务时 id 都是唯一的。

然而,现在当我在我的 intentService 中阅读正在发送的活动时,我很确定这不是我最近发出请求的未决意向调用。我相信它来自上一个。但是我不知道如何取消它,因为我不知道前一个的 id。1. 为什么不知道之前的id?好吧,当我通过删除更新取消更新时,我确实使用了我认为正常工作的 getIntentID,但是当我停止我的应用程序,再次启动它但没有启动用于活动识别的 update() 代码时,我注意到我仍然得到活动,当我使用调试器时。

这是我的更新请求

这是我的删除代码

所以我的问题是,有没有办法取消活动识别的所有通话时间。即使我不知道pendingintent 信息?

0 投票
0 回答
757 浏览

android - Activity Recognition API 首次修复延迟

在我的 Android 应用程序中,我使用的是 ActivityRecognition API,它运行良好。不幸的是,AR 需要一些时间来获得第一个修复,我想它会等待一些重要的运动才能获得第一个修复或很长时间才能确定活动是否“静止”,无论我将 1000 ms 设置为detectionIntervalMillis。听起来不错,但并非总是如此 - 有时即使手机仍然是 AR 更新活动,仅在显着运动之后才检测到仍然没有。

当然,我可以简单地同意默认设置为“仍然”,但我不想完全依赖 AR API,也不想丢失一些位置修复(如果某些设备不支持,AR API 将无法在某些设备上正常工作)已更新 Google Play 服务),因此我设置了一个默认值,例如“no_activity_detected”。

换句话说,我只想在 AR API 检测到它的情况下将我的活动更改为“静止”。

我的代码与developers.google上的代码和stackoverflow 上的示例几乎相同,所以这应该不是问题。

MainActivity.java


ActivityRecognitionIntentService.java:

作为解决方案,我看到了下一个选项:

1)编写另一个静止识别服务,该服务在 AR API 的第一次修复和默认的“no_activity_detected”被更改之前一直有效。

2)正如我在 requestActivityUpdates 中所写,不知何故强制 AR API 在 1000 毫秒后给我一个更新,甚至是不自信的。它将确保 AR API 工作并且我可以依赖它。

有没有更好的方法来解决我的问题?

0 投票
1 回答
480 浏览

matlab - 如何使用 MHI 和 MEI 进行动作识别

我目前正在开展一个项目,通过 Matlab 识别人类行为/活动以进行老年人监控。

我正在阅读不同的论文以了解如何识别这些动作,并且我通过运动历史图像和运动能量图像进行模板匹配。我已经看到了 MHI 和 MEI 的结果,但是在得到这些结果之后,您如何实际使用它们来识别监控视频上的图像?感谢您提前帮助!

0 投票
1 回答
1256 浏览

java - 如何根据活动识别结果启动服务

如果从返回的 Activity 识别返回的 DetectedActivity 是 IN_VEHICLE,我正在尝试启动服务。我从以下网址下载了一个代码示例: http ://tutsberry.com/activity-recognition-implementation-on-android/

但我不确定在哪里放置代码来启动我的服务。我正在尝试使用活动识别在后台检查用户活动,然后在后台启动一个服务。

ActivityRecognitionIntentService 类

}

MainActivity 类

}

0 投票
1 回答
59 浏览

android - 更新应用后移除活动识别

我用

跟踪用户的活动,效果很好。但是,当我通过使用 Android Studio 创建新版本来安装更新时,我会停止获取活动更新,直到再次调用 requestActivityUpdates()。当我构建发布版本并使用更新的发布版本更新它时,也会发生同样的情况。

我想在用户在以后的版本中更新我的应用程序后继续获取活动更新,我该如何解决这个问题?

0 投票
2 回答
3878 浏览

android - android 6.0 中的活动识别运行权限

我正在尝试实现活动识别,因此它将支持 api 23。我已按照此处的运行权限指南进行操作:

https://developer.android.com/guide/topics/security/permissions.html#normal-dangerous

而且我找不到活动识别是否被归类为危险许可或正常?

即使在谷歌的活动识别示例中,它们也不针对 api 23:https ://github.com/googlesamples/android-play-location/tree/master/ActivityRecognition

android 6.0 是否可能不支持活动识别?

0 投票
0 回答
320 浏览

android - 测试活动识别

我已经使用 Google Play 服务实现了 Activity Recognition API 以检测驾驶,我想在 Android Studio 上对其进行调试。有没有办法在不开车的情况下做到这一点?

0 投票
0 回答
3010 浏览

android-sqlite - 手机入睡后活动识别不工作

免责声明:这不是Activity Recognition 在手机进入待机状态(屏幕关闭状态)时停止接收更新的重复,因为我已经在使用这种方法并且它没有帮助。

问题:

似乎活动识别服务停止工作并且在设备进入睡眠状态时没有发送任何更新。当设备没有睡着时,它工作正常(识别的活动存储到 sqlite),但只要我按下 HTC M8 上的电源按钮,从这一刻起什么都没有存储,直到我唤醒设备但再次按下电源按钮。

我如何进行活动识别的一些细节:

请求活动识别更新看起来像这样(取自官方谷歌样本,但我改为IntentServiceBroadcastReceiver

接收活动识别更新长这样(标准WakefulBroadcastReceiver+IntentService合作)

我在用着compile 'com.google.android.gms:play-services-location:8.1.0'

编辑1:

在阅读了用户 bjiang 的提示和这个答案https://stackoverflow.com/a/32965481/2401535之后,HTC 设备似乎存在一些问题,因为它不像 Activity Recognition api docs 所说的那样工作:

为了节省电池电量,当设备长时间处于“静止”状态时,活动报告可能会停止。一旦设备再次移动,它将恢复。这只发生在支持 Sensor.TYPE_SIGNIFICANT_MOTION 硬件的设备上。

HTC M8 确实支持Sensor.TYPE_SIGNIFICANT_MOTION,所以 Activity Recognition 应该会在之后重新启动device moves again。但事实并非如此。在我用电源按钮唤醒设备后,它确实开始了活动识别。

0 投票
0 回答
399 浏览

google-play-services - 禁用位置和活动识别示例仍然有效

ActivityRecognition 的介绍中,有一句话“要运行这个示例,必须启用位置。” 但是当我禁用“Android 位置”时,ActivityRecognition 示例仍然有效。我只想知道当我打开或关闭位置设置时应用程序行为是否有任何不同。它是如何工作的?

最后一个问题是 ActivityRecognition API 使用哪些传感器?

还有1个问题,有什么方法可以使用“Step Detector Sensor”和“Step Counter Sensor”来检测当前的用户活动吗?

先感谢您。

0 投票
1 回答
460 浏览

android - ActivityRecognition API 一段时间后不发送动作

我有一个使用 ActivityRecognition 的 DetectedActivity 广播接收器。我注意到它确实连接了,但我没有得到任何数据。这是在三星 Note 2 上。在我尝试过的其他手机上它总是有效。这是连接到 google api 的代码:

这是请求动作的代码:

其中“getActivityDetectionPendingIntent”是:

奇怪的是,我然后重新启动了手机。进入应用程序,重启后,我只是摇晃了一下手机,开始获取位置。广播接收器是否有可能以某种方式被强制关闭?还是要打破的识别活动?其他人有这个问题吗?有什么方法可以检查我的广播接收器的状态吗?我没有日志,因为我没有问题,在日志中。它只是构建 api 客户端,然后使用以下命令请求动作: