[RESOLVIDO]Não receber ligações durante um processamento

Estou com a seguinte situação:
Ainda falta alguma análise no projeto em que estou trabalhando, e encontrei 2 problemas.
1 - ligações, durante cadastros, podem fazer com que alguma informação se perca.
Enquanto não decidirem como funcionará a lógica te manter as informações salvas, coloquei uma mensagem “O processo foi interrompido por uma ligação, verifique se os dados do cadastro estão em ordem”

2 - Há uma tela de SINCRONIA (não foi feita por mim, então não está perfeita), que envia e recebe uma série de arquivos. Só que esse processo não pode ser interrompido, pois o risco de algo se perder é grande.
Como faço para o Android não receber ligações quando estou em certa Activity?
Vi que não há como receber a ligação e cortá-la… ou melhor dizendo, tem como cortar a ligação, mas isso já iria causar problemas… o Android precisa recebe-la para depois bloquea-la.(d’oh)

Há como desabilitar a antena, ou algo parecido?

Você pode fazer com que sua activity não perca os dados, isso tem como. Você define isso no manifest.

Você coloca para cada activity:

[quote=Valeio Bezerra]Você pode fazer com que sua activity não perca os dados, isso tem como. Você define isso no manifest.

Você coloca para cada activity:

Acho que no meu caso não funciona… não são dados que estão em inputs, e uma série de arquivos json que estou enviando e recebendo.

[quote=Valeio Bezerra]Você pode fazer com que sua activity não perca os dados, isso tem como. Você define isso no manifest.

Você coloca para cada activity:

Alias, isso não é só para que a orientação fique fixa?

Olha, pode ser que te ajude, pode ser que não. Me ajudou num player que eu desenvolvi.

[quote=Heartbreaker]Olha, pode ser que te ajude, pode ser que não. Me ajudou num player que eu desenvolvi.

valeu, mas para mim isso não será a solução!

Artur eu uso isso pra receber JSON de um determinado WebService e nunca chegou a travar não, aquela modificação faz com que a activity não seja destruída, nem quando eu mudo a orientação, nem quando eu bloqueio a tela, ou quando ela é automaticamente bloqueada, acredito que isto funcione sim.

Minha situação é semelhante… eu recebo vários JSON. Não trava o tablet nem o software, mas depois que volta da ligação, as coisas ficam meio travadas e confusas por alguns segundos ou até minutos.
Por isso queria evitar de receber ligações.
Até esta tag ai já estava em meu manifest!

Acredito que um service recendo e enviando os Json seria mais adequado, pois, bloquear as ligações causaria uma má experiencia ao usuário.

Se comunicando por Messenger, é possível notificar o Service que a Activity foi para o estado “onPause” e o service começa a guardar os Json numa Fila e assim que a Activity voltar em foco envia os Json armazenados.

[quote=fabriciov]Acredito que um service recendo e enviando os Json seria mais adequado, pois, bloquear as ligações causaria uma má experiencia ao usuário.

Se comunicando por Messenger, é possível notificar o Service que a Activity foi para o estado “onPause” e o service começa a guardar os Json numa Fila e assim que a Activity voltar em foco envia os Json armazenados.
[/quote]

Então não tem perigo de perder informações?
Bom, então fico mais tranquilo.
O único problema é que depois que retorna da ligação, as vezes a tela fica preta por um tempinho. Isso pode incomodar o cliente.

Pode ser que precise fazer tratamento para não afogar a Activity de informações caso ela fique fora do foco muito tempo e o Service tenha recebido muita informação do WS.
Sem conhecer o
código não da para falar muito, mas a tela preta pode ser por causa da comunicação mesmo.

Bom, pelo que pesquisei, não tem mesmo como evitar que o celular sequer receba ligações.
Apenas há como recebe-las e então bloqueá-las.

Colocarei o tópico como resolvido!