我有一个 IntentService 可以下载一些文件。问题是我像这样在 IntentService 中创建了一个 Toast
Toast.makeText(getApplicationContext(), "some message", Toast.LENGTH_SHORT).show();
如果我退出应用程序,Toast 将永远不会消失事件。销毁它的唯一方法是终止进程。
我做错了什么?
最佳答案
问题是 IntentService
没有在主应用程序线程上运行。您需要为主线程(在 onCreate()
中)获取 Handler
并将 Toast
作为 Runnable
。
下面的代码应该可以解决问题:
@Override
public void onCreate() {
super.onCreate();
mHandler = new Handler();
}
@Override
protected void onHandleIntent(Intent intent) {
mHandler.post(new Runnable() {
@Override
public void run() {
Toast.makeText(MyIntentService.this, "Hello Toast!", Toast.LENGTH_LONG).show();
}
});
}
关于android - 在 IntentService 中创建的 Toast 永远不会消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3296639/