Если возможно разбить вашу длинную задачу на несколько инкрементных вызовов, я бы рекомендовал это сделать.Затем вы можете сделать эти вызовы из цикла внутри AsyncTask.doInBackground (), как в примерах SDK.
Если это невозможно, вам понадобится переменная прогресса в вашем собственном коде, к которой можно безопасно обращатьсяиз нескольких потоков: запишите в него из своего рабочего кода и прочитайте его из новой функции JNI "getProgress ()", с соответствующей синхронизацией , выполненной в собственном коде.После этого вы сможете вызывать функцию getProgress () из AsyncTask.doInBackground () или любой другой схемы пользовательского интерфейса, которую вы выберете.