Emissão com intenções sistema
-
19-09-2019 - |
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
....
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.