AsyncTask から doInBackground で定期的な間隔ごとに実行される定期的なイベントを作成したいと考えています。
このような:
protected Object doInBackground(Object... arg0) {
while (true) {
someThingToDo();
// wait for 1000;
}
}
どうやってするの ?
AsyncTask から doInBackground で定期的な間隔ごとに実行される定期的なイベントを作成したいと考えています。
このような:
protected Object doInBackground(Object... arg0) {
while (true) {
someThingToDo();
// wait for 1000;
}
}
どうやってするの ?
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()を使用できます
タイマーまたはアラームサービスを使用できます。デバイスがスリープモードのときに起動する可能性があるため、アラームサービスを使用することをお勧めします。
これを試してください::
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());
}
}
}
};
AsyncTask でクラス Timer を使用する必要があると思います。