【问题标题】:Android Activity Recognition Sample BugAndroid 活动识别示例错误
【发布时间】:2026-01-01 03:45:02
【问题描述】:

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

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

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

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

附:我正在使用 Google Play services rev 16. 以及三星 Galaxy s2 android 版本 4.1.2

【问题讨论】:

    标签: android android-activity sample activity-recognition


    【解决方案1】:

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

    mCurrentIntent.cancel();
    

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

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

    mDetectionRequester.getRequestPendingIntent().cancel();
    

    这实际上与上面的第一行相同。

    【讨论】:

    • 是的,这似乎也对我有用(所以勾选)。老实说,虽然我仍然认为这是 Google 服务方面的问题,但是是的,很高兴知道有一些小技巧可以绕过它。
    最近更新 更多