2013-11-20 24 views
10

Attualmente sto sviluppando un'applicazione che deve gestire gli SMS solo se si tratta di un SMS previsto dall'applicazione (stesso comportamento di Whatsapp alla registrazione).Abort SMS Intent su Android KitKat

Vorrei interrompere l'intento SMS poiché non è previsto che venga visualizzato nella casella SMS.

La mia domanda è: so che Google ha cambiato molto sul comportamento degli SMS in KitKat, e ora, anche se il mio SMS è ben analizzato dalla mia applicazione, gli SMS compaiono anche in SMSBox, anche se chiamo this.abortBroadcast(); nel mio SMS ricevitore di trasmissione. Quindi c'è un modo per evitare che gli SMS compaiano nella casella SMS senza dover sviluppare un'applicazione SMS completa?

Per informazioni, la priorità è ancora su 1000 (e ho provato anche con MAX Integer) nel file Manifest per questo ricevitore Broadcast.

+3

"Quindi esiste un modo per evitare che gli SMS vengano visualizzati nella casella SMS senza dover sviluppare un'applicazione SMS completa?" - AFAIK, no. Vorrei strutturare l'SMS in modo che fosse prezioso per l'utente, oltre a servire il ruolo desiderato, per giustificare che si trovasse nella casella di posta in arrivo (e che valesse qualsiasi cosa l'utente pagasse per il messaggio, semmai). – CommonsWare

+0

Nel contesto della mia applicazione, non posso renderlo prezioso per l'utente senza aumentare le sue dimensioni a più di 1 SMS. È per questo che attualmente sono curioso di una soluzione se ne esiste una. A proposito, grazie per la tua risposta. – gahfy

+0

Cosa succede se si modifica l'app predefinita per gli SMS nelle impostazioni Wireless e reti? – gayavat

risposta

10

luoghi di ritrovo utilizza la priorità massima possibile (999 per the Intent-Filter docs) e quindi non si può interrompere sul < 4.4 release. Con 4.4+, solo lo default SMS app (blog post with details) può apportare modifiche al provider SMS (ad esempio, eliminare automaticamente gli SMS).

+0

Vorrei dire che nel caso in cui la tua app sia l'app SMS predefinita, è responsabile della scrittura dei messaggi in arrivo al Provider, quindi sarebbe una questione di omettere quelle scritture, piuttosto che cancellare i messaggi dal Provider. Inoltre, per ulteriori informazioni su Hangouts, vedere questa risposta: http: // stackoverflow.com/domande/25354516/intercetta-incoming-sms-samsung-android/25354759 # 25354759 –

-1

È possibile bloccare SMS su Android 4.4 - 4.4.4 utilizzando

1)

  • Utilizzando Impostazione AppsOpps
  • WRITE_SMS autorizzazione

Sms saranno cancellati in 10 secondi con notifica di questo sms.

Come opzione è possibile bloccare l'audio quando si ricevono sms indesiderati.

2) Impostare l'app come predefinita per l'invio di SMS.

Problemi correlati