2014-04-20 86 views
0

所以我下載的示例應用程序的「識別用戶的當前活動」在Android網站上http://developer.android.com/training/location/activity-recognition.htmlAndroid的活動識別標準錯誤

我遇到的問題是,當我按下「開始更新」按鈕,然後'停止更新'按鈕,然後再次點擊'開始更新'按鈕,更新不會再次開始。

我在網上搜索,但無法找到關於這個話題的太多材料,所以是的,我也試過調試,發現onDisconnected()方法調用(通過ConnectionCallbacks接口)沒有被調用的DetectionRemover.java或DetectionRequester.java文件。

如果有人知道爲什麼會發生這種情況,我真的很想知道爲什麼。從我收集的內容來看,它似乎沒有任何示例代碼,我認爲這可能是Google服務方面的一個問題。

P.S.我正在使用谷歌播放服務Rev 16.隨着三星Galaxy S2的Android版本4.1.2

回答

0

我注意到在我的Nexus 4(Android 4.4.4)上運行示例代碼的同樣的問題。我發現,如果我註釋掉在ActivityDetectionRemover continueRemoveUpdates()方法,下面的一行代碼,它解決了這一問題:

mCurrentIntent.cancel(); 

對不起,我還沒有一個很好的解釋爲何取消的PendingIntent原因這個問題。

更新:我也註釋掉在MainActivity onStopUpdates取消()方法:

mDetectionRequester.getRequestPendingIntent().cancel(); 

這是有效地做同樣的事情與上面第一行。

+0

是的,這似乎也適用於我(也是如此)。說實話,雖然我仍然認爲這是Google服務方面的事情,但是,很高興知道有一點小竅門可以避開它。 –