Они оба являются экземплярами Context , но экземпляр приложения привязан к жизненному циклу приложения, а экземпляр Activity связан с жизненным циклом действия. Таким образом, они имеют доступ к разной информации о среде приложения.
Если вы читаете документы по адресу getApplicationContext , он отмечает, что вы должны использовать это, только если вам нужен контекст, жизненный цикл которого отделен от текущего контекста. Это не относится ни к одному из ваших примеров.
В контексте действия предположительно имеется некоторая информация о текущей активности, необходимая для завершения этих вызовов. Если вы покажете точное сообщение об ошибке, возможно, сможете указать, что именно ему нужно.
Но в целом используйте контекст действия, если у вас нет веских причин не делать это.