更改活动时保持线程活动

时间:2018-07-23 05:51:40

标签: android multithreading background-task

我在项目中使用AsynTask并执行一些任务,但是当我更改活动时,后台任务停止。 现在,当我的活动发生变化时,如何使我的线程保持活动状态?

我的班级:

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();
        }
}

MainClass:

    new mytask(this).execute() 

    Intent intent = new Intent(this,NewClass.class);
    startActivity(intent);

1 个答案:

答案 0 :(得分:0)

对于后台任务,您应该使用线程或服务。因此,您的后台任务不会在活动更改后结束。