2

オンラインまたはオフラインのユーザーを知る必要があるアプリを設計しています。各ユーザーは、自分がオンラインかオフラインかをサーバーに通知でき、サーバーからその情報を取得できます。

問題は、ユーザーをオンラインまたはオフラインとしてマークする Android の標準があることです。

解決策の 1 つは、アプリが実行されている場合はユーザーがオンラインであり、アプリが停止しているか実行されていない場合はユーザーがオフラインであることです。私のアプリでは、アプリが停止していることをどのように知ることができますか?

上記が不可能であるか、適切な解決策ではない場合、アプリがオフラインになることをサーバーに通知するのはいつですか。

前もって感謝します。

4

2 に答える 2

0

Android には、「アプリを離れる」という堅固な概念はありません。アプリは、ホームを押すことでスタックにプッシュできます。バックグラウンドでまだ生きているか、別のアプリケーションによってトップから押し出されます。「わかりました。今本当にダウンしています。サーバーに通知する必要があります」と言うために使用できる実際のフックはありません。

したがって、逆の方法を取ることもできます。たとえば、サーバーはユーザーに保釈を許可し、たとえば 5 分、クライアント アプリはそれを更新する必要があります。非アクティブ状態が 5 分続くと、サーバーはユーザーがオフラインになることを認識できます。

もちろん、遅延は、サーバー側で必要な精度/応答性とバッテリー使用量との間のトレードオフになります。これは、クライアントがまだオンラインであることをサーバーに常に通知することにより、バッテリー寿命が短くなる傾向があるためです.

于 2013-11-14T05:23:25.683 に答える