2

OK、私はしばらくこの問題を調査してきましたが、良い答えが見つかりませんでした。Web サービスを介してデータベースに更新があるかどうかを確認する asynctask があります。アプリのユーザー セッションごとに 1 回だけ確認したい (現在は、メイン画面に戻るたびに確認します)。したがって、アプリを閉じてプロセスが停止し、再度開くと、Web サービスが再度チェックされます。

共有設定の使用について読んだことがありますが、アプリを実行して初めてそれを行うことしか考えられません。

共有設定にタイムスタンプを保存し、最後のタイムスタンプから 30 分以上経過しているかどうかを確認することを考えました。しかし、それは私が必要とするものには複雑に思えます。

そこに何かアイデアはありますか?

4

2 に答える 2

3

共有設定は実際には非常に簡単です。変数を共有設定に設定できます。たとえば、「0」非同期を開始すると、その値は「1」に変わります。したがって、非同期は実行されません。終了したら、共有設定を「0」に戻します。次にユーザーがプログラムを開始すると、asyncTaskが実行され、値が再び「1」に戻されます。そのため、メイン画面に戻ったときにasynは実行されません。これはあなたが探しているものですか?

于 2012-04-12T02:57:06.143 に答える
2

OK、私が受け入れたソリューションを実際に機能させることができなかったと言いたかった. 理論的には理にかなっていますが、同じ画面に戻るたびに finish() メソッドが呼び出されます。その結果、メイン画面に戻るたびに更新をチェックしていましたが、これは避けようとしていたことです。最後に、タイムスタンプをUNIX時間で保存することになり、最後に更新を確認してから15分経過したかどうかを確認しました。それはうまくいきました。

于 2012-04-17T19:49:17.670 に答える