Pergunta

Eu tenho um programa que tem um broadcast receiver que escutas para PHONE_STATE e, em seguida, envia um intent definida pelo usuário.

Bem, o meu problema é que o sistema também envia um intent (o que eu estou tentando substituir com o meu programa).

Então, eu estou tentando encontrar uma maneira de CANCEL the systems intent.

Eu descobri que se eu tiver um temporizador apenas aguardar um pouco, então eu posso enviar meu depois os sistemas, mas isso não é muito bom, e às vezes vai contra o propósito do meu programa.

Além disso, eu não posso definir o meu programa como um padrão porque ele não é um programa de discagem completo. Apenas uma ação do mesmo.

Por favor, alguém me ajudar a encontrar a forma de ouvir e cancelar um sistema intent/activity ....

Foi útil?

Solução

Alguém por favor me ajude veja como ouvir e cancelar um sistema intenção / atividade

Você não pode "cancelar" uma atividade, período.

Você não pode substituir o discador.

Se o Intent sistema foi enviada via sendOrderedBroadcast(), então você pode chamar abortBroadcast() do seu BroadcastReceiver, e quaisquer receptores de menor prioridade não terá a transmissão. No entanto, eu não tenho nenhuma evidência de que ACTION_PHONE_STATE_CHANGED é uma transmissão ordenada, e espero sinceramente que não é.

O que você está tentando fazer, provavelmente, deve ser realizado através de modificações para o seu próprio firmware personalizado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top