0

そこで、Android Web サイトhttp://developer.android.com/training/location/activity-recognition.htmlで「ユーザーの現在のアクティビティを認識する」ためのサンプル アプリをダウンロードしました。

私が抱えている問題は、[更新の開始] ボタンを押してから [更新の停止] ボタンを押してから、[更新の開始] ボタンをもう一度押しても、2 回目は更新が開始されないことです。

私はオンラインで検索しましたが、トピックに関する多くの資料を見つけることができなかったので、デバッグも試みましたが、onDisconnected() メソッド呼び出し (ConnectionCallbacks インターフェイス経由) がどちらの DetectionRemover でも呼び出されていないことがわかりました。 java または DetectionRequester.java ファイル。

なぜこれが起こっているのか誰かが知っているなら、私は本当に理由を知りたいです. 調べたところ、サンプル コードには何もないようで、Google サービス側の問題ではないかと思います。

PS私はGoogle Play Services rev 16を使用しています.Samsung 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 に答える