我需要检测应用程序中的用户动态。我开始使用GooglePlayServicesClient,直到三个月前工作完美,然后它停止了我的HTC一台设备(虽然它仍在我检查的三个不同的设备上工作)。我知道它现在被GoogleApiClient取代,所以我认为这是我的问题,但即使更改为新的API,它仍然无法正常工作。 问题是从不调用ActivityRecognition.ActivityRecognitionApi.requestActivityUpdates的意图。我使用了相同的实现:https://blacode.wordpress.com/2014/12/26/user-activity-recognition-through-new-activityrecognitionapi-in-android-activityrecognitionclient-deprecated/ (再次,这个实现适用于其他三个设备,但不适用于HTC)。
我做了一些在线阅读,我看到一些类似的问题通过更新谷歌播放或激活谷歌播放位置服务或在Android开发人员设置上禁用模拟位置解决。不适合我。
有没有人遇到过同样的问题,或者有些想法可能是什么原因?
答案 0 :(得分:1)
如果未触发onHandleIntent,请确保清单中有接收者标记(在应用程序标记内,但在活动之外):
<service
android:name=".ActivityRecognitionIntentService"
android:exported="false" />
我挣扎了好几个小时才终于意识到这个缺失了。一旦我添加它,一切都有效。
此外,如果您通过IntentService的AndroidStudio子菜单添加IntentService类,而不是仅添加普通Java类并自行设置,它将自动在清单中注册。新...-&GT;服务 - &GT; IntentService
答案 1 :(得分:0)
最终解决它的是将设备重置为制造商设置,这意味着问题是设备中的某些设置,我仍然不知道导致它的原因。如果有人找到答案,我会很高兴听到它。