0

我弄乱了android网站上有关服务的示例。该服务旨在祝酒。我使用按钮的 onClick 方法启动服务。它有效,但吐司永无止境!我认为 IntentService 在过程完成后会特别停止。

import android.app.IntentService;
import android.content.Intent;
import android.widget.Toast;

public class Enslaved extends IntentService {
     public Enslaved() {
        super("Enslaved");
     }


     @Override
     protected void onHandleIntent(Intent intent) {
         Toast.makeText(this, "Starting service", Toast.LENGTH_SHORT).show();
     }

 }
4

1 回答 1

5

我也做过一次,感觉很傻。。。

您可以保存对 Toast 的引用并在 中取消它onDestroy()。或者只是在如此短暂的服务中不与 UI 交互。

Toast toast;

@Override
protected void onHandleIntent(Intent intent) {
    toast = Toast.makeText(this, "Starting service", Toast.LENGTH_SHORT);
    toast.show();
}

@Override
public void onDestroy() {
    toast.cancel();
}
于 2012-12-31T19:32:19.313 回答