1

AsyncTask から doInBackground で定期的な間隔ごとに実行される定期的なイベントを作成したいと考えています。

このような:

protected Object doInBackground(Object... arg0) {
    while (true) {
            someThingToDo();
            // wait for 1000;
        }
}

どうやってするの ?

4

4 に答える 4

1

Serviceクラスのサブクラスである別のクラスを作成する必要があります。

http://developer.android.com/reference/android/app/Service.html

プライマリアプリケーションは、startServiceとstopServiceを呼び出して、バックグラウンドプロセスを開始できる必要があります。サービスを管理するためのコンテキストクラスには、他にもいくつかの便利な呼び出しがあります。

コンテキストドキュメント http://developer.android.com/reference/android/content/Context.html#startService%28android.content.Intent%29

それ以外の場合は、TimerTask()を使用できます

于 2012-09-14T12:55:45.910 に答える
1

タイマーまたはアラームサービスを使用できます。デバイスがスリープモードのときに起動する可能性があるため、アラームサービスを使用することをお勧めします。

于 2012-09-14T11:55:49.633 に答える
0

これを試してください::

class Getphonenumber extends AsyncTask<String, Void, Void> {
     public Void doInBackground(String... p) {
      while (true) {

          someThingToDo();

       try {


        Thread.sleep(2000);


       } catch (Exception ie) {
           Log.e("Sleep", "Error: " + ie.toString());
        }
      }
    }
 };
于 2012-09-14T11:51:07.657 に答える
0

AsyncTask でクラス Timer を使用する必要があると思います。

于 2012-09-14T11:54:11.320 に答える