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.
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.
[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.
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…