Como verificar se a tarefa assíncrona já está em execução

Eu tenho um aplicativo que precisa fazer uma operação intensiva de banco de dados na inicialização. O aplicativo mantém uma cópia local dos contatos no telefone e sincroniza com o banco de dados de contatos do Android na inicialização.

Se um usuário iniciar o aplicativo, será iniciada uma tarefa assíncrona que faz a sincronização do banco de dados em segundo plano. Se o usuário fechar o aplicativo, a operação continuará em execução, o que é bom. No entanto, se o usuário abrir o aplicativo novamente, a tarefa assíncrona será iniciada e um erro será produzido.

Existe alguma maneira de verificar se a tarefa já está sendo executada a partir de uma instância diferente do aplicativo?

questionAnswers(4)

yourAnswerToTheQuestion