Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android手动启动ActivityRecognition_Android_Google Play Services_Activity Recognition_Android Intentservice - Fatal编程技术网

Android手动启动ActivityRecognition

Android手动启动ActivityRecognition,android,google-play-services,activity-recognition,android-intentservice,Android,Google Play Services,Activity Recognition,Android Intentservice,我的Android应用程序需要检测当前活动(跑步、走路等) 我按照Android开发页面上的说明进行操作: 在我的意向服务中: protected void onHandleIntent(Intent intent) { if (ActivityRecognitionResult.hasResult(intent)) { ActivityRecognitionResult result = ActivityRecognitionResult.extractResult(in

我的Android应用程序需要检测当前活动(跑步、走路等)

我按照Android开发页面上的说明进行操作:

在我的意向服务中:

protected void onHandleIntent(Intent intent) {
   if (ActivityRecognitionResult.hasResult(intent)) {
       ActivityRecognitionResult result = ActivityRecognitionResult.extractResult(intent);
       // Put your application specific logic here (i.e. result.getMostProbableActivity())
   }
}
这是我的问题:我想自己开始活动识别。Android开发页面上的代码似乎应该这样做。但是如果我不将服务添加到AndroidManifest,它将不会做任何事情。将调用OnConnectiond()方法,但不会调用OnHandleContent()

所以我想我可能只需要把它添加到清单中。现在我确实收到了活动,但我一直都收到。这也不是我想要的。我做错了什么

提前感谢,,
Steff

或者,您可以“手动”完成,而无需
谷歌播放服务

看看我的答案。其主要思想是检测当前的top
活动
,即外部应用程序的
活动
。您可以创建
服务
,它将监控顶级活动。

谢谢,但我仍然希望找到一个解决方案,可以使用Android提供的逻辑。为什么我要调用
mActivityRecognitionClient.connect()如果没有机会以编程方式启动识别。如果我将服务添加到清单中,我甚至不调用该函数,它仍然可以工作。
protected void onHandleIntent(Intent intent) {
   if (ActivityRecognitionResult.hasResult(intent)) {
       ActivityRecognitionResult result = ActivityRecognitionResult.extractResult(intent);
       // Put your application specific logic here (i.e. result.getMostProbableActivity())
   }
}