Aplicação identifica aonde roda?

Olá,

to com uma aplicação j2me que manda SMS, porem quando to fazendo os testes usando o emulador, tenho que comentar a linha que chama o metodo de enviar SMS, queria saber se tem como a aplicação identificar se estar rodando no emulador e entao nao executar tal função.

vlw ae

bom, sinceramente não sei como identificar (deve ter uma forma sim!)

mas como dica: Poderia incluir um parâmetro na execução do aplicativo, por ex: “int ambiente” - e lá no teu código você trata como desejar.

Olá, utilizando a propriedade microedition.hostname para fazer uns testes alguns dias atrás eu obtive o nome da minha máquina. Não sei se é a melhor solução, mas é um alternativa para esta sua dúvida.

[]'s

[quote=peerless]bom, sinceramente não sei como identificar (deve ter uma forma sim!)

mas como dica: Poderia incluir um parâmetro na execução do aplicativo, por ex: “int ambiente” - e lá no teu código você trata como desejar.

[/quote]

Eu faço assim desta maneira…tenho uma variável boolean static final que seto para um valor ou outro de acordo com o que quero.

Se quero rodar alguns trechos válidos somente para debug, seto ela para true e rodo a aplicação, senão deixo em false.

A vantagem disto é que pelo fato da variável ser final, o compilador não irá gerar no bytecode final, os trechos de códigos que seriam só válidos para o caso de debug, com isto, economizando no tamanho final da aplicação.

Agora se quer saber se está ou não executando no WTK, consulte a propriedade microedition.platform que lhe dará o nome j2me. Em um aparelho real, ela lhe daria o nome do fabricante, bem como modelo e as vezes até a versão do firmware do celular.

valeu ae moçada,

resolveu meu problema, agora ninguem tem que ficar comentando e descomentando codigo isso eh muito bom =)

so pra ajudar quem nao sabe como começar a usar isto, basta fazer System.getProperty(“microedition.platform”) que te é retornado uma string, no caso da aplicação rodando no emulador a string retornada é SunMicrosystems_wtk e no meu celular de testes retornou Nokia6111/03.07…