0

我需要在我的应用程序中检测用户动态。我从使用 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 一台上)。

我在网上做了一些阅读,我看到了一些类似的问题,这些问题通过更新 google play 或激活 google play 位置服务或在 android 开发人员设置中禁用模拟位置来解决。非为我工作。

有没有人遇到过同样的问题,或者可能知道可能是什么原因?

4

2 回答 2

1

如果您的 onHandleIntent 没有被触发,请确保您的清单中有一个接收者标签(在应用程序标签内,但在活动之外):

    <service
        android:name=".ActivityRecognitionIntentService"
        android:exported="false" />

我为此苦苦挣扎了几个小时,才终于意识到这是缺失的。我添加后,一切正常。

此外,如果您通过 IntentService 的 AndroidStudio 子菜单添加一个 IntentService 类,而不是仅仅添加一个普通的 Java 类并自己设置它,它将自动在清单中注册。新建...->服务->IntentService

于 2015-04-19T05:08:50.383 回答
0

最终解决它的方法是将设备重置为制造商设置,这意味着问题是设备中的某些设置,我仍然不知道是什么原因造成的。如果有人找到答案,我会很高兴听到的。

于 2015-04-19T06:07:34.143 回答