Вы должны использовать многопоточность, потому что onActivityResult()
выполняется в том, что называется потоком пользовательского интерфейса, то есть основным потоком и потоком по умолчанию. Если эта обработка выполняется слишком долго, вы получите печально известный диалог ANR (приложение не отвечает).
Решение Android для этого AsyncTask . Эта статья должна познакомить вас с этой практикой.