Из документа Android:
Для правильной работы этого класса необходимо соблюдать несколько правил потоков:
Экземпляр задачи долженбыть создан в потоке пользовательского интерфейса.
execute(Params...) must be invoked on the UI thread.
Do not call onPreExecute(), onPostExecute(Result), doInBackground(Params...), onProgressUpdate(Progress...) manually.
The task can be executed only once (an exception will be thrown if a second execution is attempted.)
Таким образом, вы НЕ можете создать его вне потока пользовательского интерфейса.Вместо этого используйте Task и оберните его в объект ThreadPoolExecutor.Имейте в виду, что вам нужно сделать его поточно-ориентированным при обновлении пользовательского интерфейса, используя один из них:
Activity.runOnUiThread(Runnable)
View.post(Runnable)
View.postDelayed(Runnable, long)
Но, опять же, Asynctask бесполезен, и я НЕ рекомендую его.
Привет