0

因此,我在 android 网站http://developer.android.com/training/location/activity-recognition.html上下载了“识别用户当前活动”的示例应用程序

我遇到的问题是,当我按“开始更新”按钮,然后按“停止更新”按钮,然后再次按“开始更新”按钮时,更新不会再次开始第二次。

我在网上搜索过,但找不到太多关于该主题的材料,所以是的,我也尝试过调试,发现 onDisconnected() 方法调用(通过 ConnectionCallbacks 接口)在任何一个 DetectionRemover 中都没有被调用。 java 或 DetectionRequester.java 文件。

如果有人知道为什么会这样,我真的很想知道为什么。从我收集到的内容来看,示例代码中似乎没有任何内容,我认为这可能是 Google 服务方面的问题。

PS 我正在使用 Google Play 服务 rev 16. 以及三星 Galaxy s2 android 版本 4.1.2

4

1 回答 1

0

我注意到在我的 Nexus 4 (Android 4.4.4) 上运行示例代码时出现了同样的问题。我发现如果我在 ActivityDetectionRemover continueRemoveUpdates() 方法中注释掉以下代码行,它就解决了问题:

mCurrentIntent.cancel();

抱歉,我还没有很好的解释为什么取消 PendingIntent 会导致这个问题。

更新:我还注释掉了 MainActivity onStopUpdates() 方法中的取消:

mDetectionRequester.getRequestPendingIntent().cancel();

这实际上与上面的第一行做同样的事情。

于 2014-08-12T08:31:46.270 回答