更改 activity 时保持线程活动
keeping a thread alive when changing activity
我在我的项目中使用 AsynTask 并执行了一些任务,但是当我更改我的 activity 时,我的后台任务停止了。
现在如何在我的 activity 更改时让我的线程保持活动状态?
我的Class:
private class mytask extends AsyncTask<Void, Void, AlertDialog.Builder>{
Context contex;
mytask(Context contex)
{
this.context = context
}
protected AlertDialog.Builder doInBackground(Void... voids) {
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
AlertDialog.Builder alertDialog = new AlertDialog.Builder(context ,android.R.style.Theme_Material_Dialog_Alert);
alertDialog.setTitle("Tittle");
alertDialog.setMessage("Message");
return alertDialog;
}
@Override
protected void onPostExecute(AlertDialog.Builder Builder) {
super.onPostExecute(Builder);
Builder.show();
}
}
主要Class :
new mytask(this).execute()
Intent intent = new Intent(this,NewClass.class);
startActivity(intent);
对于后台任务,您应该使用 Thread 或 Service。所以你的后台任务不会在activity改变后结束。
我在我的项目中使用 AsynTask 并执行了一些任务,但是当我更改我的 activity 时,我的后台任务停止了。 现在如何在我的 activity 更改时让我的线程保持活动状态?
我的Class:
private class mytask extends AsyncTask<Void, Void, AlertDialog.Builder>{
Context contex;
mytask(Context contex)
{
this.context = context
}
protected AlertDialog.Builder doInBackground(Void... voids) {
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
AlertDialog.Builder alertDialog = new AlertDialog.Builder(context ,android.R.style.Theme_Material_Dialog_Alert);
alertDialog.setTitle("Tittle");
alertDialog.setMessage("Message");
return alertDialog;
}
@Override
protected void onPostExecute(AlertDialog.Builder Builder) {
super.onPostExecute(Builder);
Builder.show();
}
}
主要Class :
new mytask(this).execute()
Intent intent = new Intent(this,NewClass.class);
startActivity(intent);
对于后台任务,您应该使用 Thread 或 Service。所以你的后台任务不会在activity改变后结束。