Falha no Emulador do Wireless Tolkit

Fiz uma aplicação que acessa um WebService. Quando testo esta aplicação nos emuladores do Wireless Tolkit da Sun eles funcionam até o momento em que pergunta se desejo me conectar a internet pelo celular, depois que aparece esta menssagem não adianta eu clicar Yes ou No, ele fica travado.

Nos outros emuladores (Nokia e Motorola) a aplicação acessa a internet normalmente depois de me perguntar se eu desejo conectar e eu dizer que sim.

O que será que está acontecendo?

O ideal seria você debugar a aplicação e executa-la passo a passo e verificar em que linha esta travando.

ou senão vai dando println mesmo naas linhas e vai refinando até encontrar a linha que não foi exibido o println aí a instrução que está travando é antes do println… entendeu? Assim vc vai cercando a instrução que está dando problema.

>>> Trabalhar com emulador é uma porcaria mesmo. :???:

Ja tentei debugar, inclusive sei em qual linha ele para… mas não tem explicação. Ele simplesmente trava quando me pergunta se desejo conectar. Isso acontece quando executo a seguinte linha de comando:

O mais incrível é que nos outros emuladores funciona perfeitamente.

Descobri qual é o problema e a solução.

O erro era o seguinte:
“Warning: To avoid potential deadlock, operations that may block, such as networking, should be performed in a different thread than the commandAction() handler.”

Se usarmos um emulador especificio (como o da Nokia) este problema não acontece.
Na verdade isto não é problema do emulador e sim do código, a mensagem de erro diz que devo realizar conexões em outra thread. Isto ocorre porque enquanto o celular esta fazendo a conexão com a rede a aplicação fica travada e não tenho controle sobre isso.

A solução é criar uma outra thread e monitorar se ela esta rodando ou não.

OBS: A aplicação funcionará no celular mesmo sem criar outra thread, mas ela ficará travada enquanto estiver ocorrendo a conexão.

ahhhhh…
bom, nao sei como vc desenvolveu…mas, o recomendável é que as conexões http sejam abertas em uma thread separada da principal…
Provavelmente resolverá seu problema.

t+