2

通常の を実装する必要がありheartbeatます。

それheartbeat自体はHTTP-GET、サーバーへの単純な呼び出しです。

問題は、アプリが開いている限り送信したいということです。アプリを閉じると、送信が停止するはずです。

ServicesAlarmManagerについていくつか読みましたが、アプリのアクティビティをナビゲートするときにそれらを呼び出す/停止するにはどうすればよいですか?

これもいいようですが、それでも同じ問題があります。

final Handler handler = new Handler();
Runnable runable = new Runnable() {

@Override
public void run() {
    try{
        //do your code here
        //also call the same runnable 
        handler.postDelayed(this, 1000);
    }
    catch (Exception e) {
        // TODO: handle exception
    }
    finally{
        //also call the same runnable 
        handler.postDelayed(this, 1000);
    }
}
};
handler.postDelayed(runable, 1000); 

誰かが良い例やリンクを投稿できますか?

ありがとう!

4

2 に答える 2

1

問題は、アプリが開いている限り送信したいということです。アプリを閉じると、送信が停止するはずです

Android では iOS よりも少し難しいですが、やってみましょう。たとえば、thins の代わりに、各 Activity onStop Method で処理する必要があります。アクティビティのライフサイクルを見てみましょう: ここに画像の説明を入力

または onDestroy メソッド。注: アクティビティが表示されなくなった場合は、アプリがバックグラウンドに移行したか、閉じられたか、または他のアクティビティが表示されていることが原因である可能性があります。どちらのケースであるかを判断し、必要に応じて HTTP Get / Post を使用するか、停止する必要があります。

HTTP 経由でデータを送信する非同期タスクのサンプル コードを次に示します。

于 2013-08-15T12:29:39.903 に答える