GPS + background + HTC Touch Cruiser

Pessoal, aqui vai uma para os gurus de J2ME do fórum.

Estou querendo desenvolver uma aplicação para um HTC Touch Cruiser. Esse aparelho possui GPS integrado, e, se não me engano, suporte a MIDP 2.0.

Nessa aplicação pretendo pegar as informações do GPS, e enviar para o meu servidor, como se fosse localizar o aparelho a cada minuto, por exemplo.

Acontece que gostaria que essa aplicação ficasse invisível, ou seja, o usuário não visse ela, de forma que não iria pará-la. Também gostaria que ela se iniciasse automaticamente quando ligasse o celular.

Tudo isso é possível de fazer? Podem me dar alguma luz?

Acessar o GPS já consegui no emulador, mas na prática, ele pega CELL ID. Andei dando uma lida e parece q só assinando a Midlet, é isso mesmo? Se sim, como faz isso?

Rodar escondido e iniciar automatico ainda nao consegui.

Outra coisa, quando pega posição, ou acessa internet para envio, pede uma autorização do usuário em alguns modelos. No HTC Touch Cruiser, tem como configurar a aplicação para ter sempre permissão e não ficar perguntando nada?

Galera, agradeço muito quem puder me ajudar.

Abraços.

[quote=paulohrl]Acontece que gostaria que essa aplicação ficasse invisível, ou seja, o usuário não visse ela, de forma que não iria pará-la. Também gostaria que ela se iniciasse automaticamente quando ligasse o celular.

Tudo isso é possível de fazer? Podem me dar alguma luz?
[/quote]
Isto não é possível usando JME (Java), só em aparelhos com Symbian (C++).

E nem vai se você não usar uma tecnologia mais adequada e celulares melhores. Symbian na cabeça fio…

[quote=paulohrl]
Outra coisa, quando pega posição, ou acessa internet para envio, pede uma autorização do usuário em alguns modelos. No HTC Touch Cruiser, tem como configurar a aplicação para ter sempre permissão e não ficar perguntando nada?
Abraços.[/quote]
Após uma aplicação estar assinada, alguns aparelhos te dão a opção de ir na aplicação e configurá-la para não mais chatear o usuário. Isto varia de aparelho para aparelho.

Para assinar, vc mete a mão no bolso, gasta um cascalho comprando um certificado, roda uns comando loco e seu JAD vai conter algumas linhas mágicas contendo o(s) certificado. Se não instalar pelo JAD, o celular não vai encontrar a assinatura somente olhando pro JAR.

Cara, no Motorola i335, da Nextel, eu consegui deixar a aplicação rodando escondida… nos celulares comuns isso não é possível? mais especificamente no HTC Touch Cruiser?

E sobre iniciar automático, dei uma lida sobre push registry, isso não resolveria?

No meu caso, o HTC Touch Cruiser roda Windows Mobile. Se fizer a aplicação em .NET ou sua variante para mobile, conseguiria implementar todas essas funcionalidades que quero e preciso?

Obrigado

[quote=paulohrl]Cara, no Motorola i335, da Nextel, eu consegui deixar a aplicação rodando escondida… nos celulares comuns isso não é possível? mais especificamente no HTC Touch Cruiser?
Obrigado[/quote]
Aplicação escondida e aplicação rodando em 2o plano (background) não são a mesma coisa. Realmente ela não aparece para ser selecionada, encerrada,etc ?

Push registry não tem nada a ver com início automático. É uma tecnologia que você usa para que o celular responda a alguns eventos externos a aplicação, mesmo que ela não esteja rodando:
Exemplos: Ao receber um SMS, uma conexão Bluetooth, quando uma determinada hora chegar,etc…

Início automático é igual ao que ocorre no Windows, quando você coloca aplicações na pasta Inicializar. No Symbian, você pode colocar aplicações para iniciar sempre que ligar (der o boot no celular) usando a aplicação Powerboot.

Bem, não conheço o .NET Compact Framework, mas como você estará rodando em um verdadeiro S.O. (Windows Mobile) e não em um de brinquedo (nativos de cada aparelho), a chance de você ter mais poder para fazer estas bagaças são grandes. Recomendo você investir neste caminho. Nem sempre JME será apropriado para todas as ocasiões.

Cara, meu maior problema é o prazo, e JME eu já conheço alguma coisa, já .NET nada.

OK, me expliquei mal… eu queria ela rodando em 2º plano, de um jeito que, sem o cara fuçar, ele não tenha nem como notar q ela ta rodando… acho que 2º plano é uma expressão melhor. Em JME da pra fazer isso?

Cara, e é possível tratar a inicialização do celular como um evento externo? E ai eu trataria esse evento colocando a aplicação pra rodar em 2º plano. É possível?

Obrigado.

[quote=paulohrl]OK, me expliquei mal… eu queria ela rodando em 2º plano, de um jeito que, sem o cara fuçar, ele não tenha nem como notar q ela ta rodando… acho que 2º plano é uma expressão melhor. Em JME da pra fazer isso?
[/quote]

Em alguns aparelhos vai ser possível você fazendo Display.setCurrent(null).
Isto para funcionar vai depender da implementação Java no aparelho, que varia entre modelos e fabricantes.
Talvez no seu funcione…talvez não…só um teste dirá.

[quote=paulohrl]
Cara, e é possível tratar a inicialização do celular como um evento externo? E ai eu trataria esse evento colocando a aplicação pra rodar em 2º plano. É possível?

Obrigado.[/quote]
Não é possível.

Cara, eu jurava que o JME não poria uma restrição desse nível, de não permitir que a aplicação se inicialize com o celular… e muito menos que não pudesse rodar em segundo plano.

Tem hora que me assusto com essas coisas.