Problema con intenti di sistema
-
19-09-2019 - |
Domanda
Ho un programma che ha un broadcast receiver
che ascolta per Phone_State e quindi invia un intent
definito dall'utente.
Bene, il mio problema è che il sistema invia inoltre un intent
(quello che sto cercando di sostituire con il mio programma).
Così sto cercando di trovare un modo per CANCEL the systems intent
.
Ho scoperto che se ho un timer solo aspettare un po ', allora posso inviare il mio dopo che i sistemi, ma che non è molto buona, e, a volte contrasta con l'obiettivo del mio programma.
Inoltre, non riesco ad impostare il mio programma come predefinito perché non è un programma completo dialer. Solo un'azione di esso.
Qualcuno per favore mi aiuti a trovare come ascoltare e annullare un intent/activity
sistema ....
Soluzione
Qualcuno per favore mi aiuti a trovare come ascoltare e annullare un sistema di intento / attività
Non si può "annullare" un'attività, punto.
Non è possibile sostituire il dialer.
Se il Intent
sistema è stato inviato tramite sendOrderedBroadcast()
, allora è possibile chiamare dal proprio abortBroadcast()
BroadcastReceiver
, e qualsiasi ricevitori a bassa priorità non sarà possibile ottenere la trasmissione. Tuttavia, non ho alcuna prova che ACTION_PHONE_STATE_CHANGED
è una trasmissione ordinata, e spero sinceramente che non è.
Qualunque cosa si sta cercando di fare probabilmente dovrebbe essere realizzato attraverso modifiche al tuo custom firmware.