IntentService
私は、ループで値を生成する に取り組んでいます。オーバーライドされたメソッドonStartCommand()
およびonDestroy()
では、 を使用してメッセージを表示できますToast
。Toast
にも使用したいのですがonHandleIntent()
、うまくいきません。値を表示するためのより良い方法 (ファイル、属性など) があることは知っていますが、これらの値が作成されたらすぐに必要です。最終的にではありません(正常に動作している場合の制御のみ)。問題を特定するのを手伝ってくれませんか? 前もって感謝します。
public class HelloIntentService extends IntentService {
public HelloIntentService() {
super("HelloIntentService");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Toast.makeText(this, "service starting", Toast.LENGTH_SHORT).show();
return super.onStartCommand(intent,flags,startId);
}
@Override
protected void onHandleIntent(Intent intent) {
long endTime = System.currentTimeMillis() + 5*1000;
while (System.currentTimeMillis() < endTime) {
synchronized (this) {
try {
wait(endTime - System.currentTimeMillis());
} catch (Exception e) {
}
}
}}
@Override
public void onDestroy()
{
Toast.makeText(this, "Service is being destroyed now.", Toast.LENGTH_SHORT).show();
}
}