サービス クラスから、1 つのスレッドを開始しています。スレッドクラスによってアクションが実行された場合、アクティビティに通知する最良の方法は何ですか? スレッドによって何らかのアクションが実行されたことをアクティビティ クラスに通知したいと考えています。質問は以下のコードから明確になります
MyService クラスの onCreate() メソッド
@Override
public void onCreate()
{
super.onCreate();
if (downloadThread == null) {
downloadThread = new DownloadThread(this);
downloadThread.activateUserSession();
downloadThread.start();
}
}
私のダウンロードスレッド
public void run()
{
while (!isStopRequested) {
if (isSessionActive && downloadNow)
{
downloadNow = false;
informActivity("Download Started");
//do some loading work !!
SystemClock.sleep(10000);
informActivity("Download Finished");
}
SystemClock.sleep(2000);
}
}
downloadNow が true の場合などの詳細には触れないでください。ダウンロードが開始され、ダウンロードが終了したことをアクティビティに通知する方法が必要なだけです。Handler に何かする必要があります。この状況を処理する最善の方法を誰か教えてください。