
Introdução
O Launcher padrão do Palm OS é um dos principais aplicativos do sistema operacional, responsável em mostrar uma lista de todas as aplicações existentes no dispositivo, dividida em categorias, e executá-las para o usuário. O Launcher é geralmente executado ao ligarmos o dispositivo, ou ainda quando pressionamos o botão "Home" do PDA, que automaticamente finaliza a aplicação que estiver sendo executada para voltar ao Launcher.

Quando empresas/desenvolvedores criam aplicações comerciais que serão utilizadas por seus funcionários, geralmente preferem que limitar o acesso ao Launcher padrão do Palm OS. Aliás, normalmente o acesso à todos os outros programas do PDA são desabilitados e a aplicação comercial se comporta como se fosse o sistema operacional desse PDA.
Conceito
O Palm OS possui em suas configurações de preferência uma propriedade onde está definido o Creator ID da aplicação definida como Launcher padrão do sistema. Esta propriedade, por padrão, possui o valor 'lnch', que corresponde ao Creator ID do Launcher padrão do Palm OS.
O painel de preferências do Palm OS não possui maneiras de alterar, de forma visual, esta propriedade, assim, a única maneira de alterar esta propriedade é via programação.
Modificando as Preferências
Para alterarmos as preferências do Palm OS, precisamos executar a função API sysTrapPrefSetPreference, informando o tipo de propriedade que desejamos modificar, e o novo valor. Dessa forma, precisamos declarar a chamada da função API em um módulo em nosso projeto.
'Tipo da preferência (26) equivale à aplicação executada ao pressionar o botão "Home" Public Const prefLauncherAppCreator As Byte = 26 'Declaração da função PrefSetPreference, que aponta para a API sysTrapPrefSetPreference do Palm OS Public Declare Sub PrefSetPreference(ByVal bChoice As Byte, ByVal lValue As Long) Trap &HA2D2
Depois de declarar a função API em um módulo, precisamos executá-la informando no tipo da propriedade o valor de prefLauncherAppCreator, e o Creator ID de nossa aplicação. Para obter o Creator ID de nossa aplicação, utilizamos a propriedade App.Info.Creator.
Agora basta executar a função para definir que nossa aplicação será o Launcher padrão do Palm OS:
Private Sub btnDefinir_Click()
'Define que nosso aplicativo será o Launcher padrão do sistema
PrefSetPreference prefLauncherAppCreator, CreatorToLong(App.Info.Creator)
End Sub
Como a propriedade App.Info.Creator é do tipo String, o valor é convertido primeiro para Long através da função CreatorToLong, e depois passado como parâmetro para a função PrefSetPreference.
Voltando à aplicação padrão
Quando desejar que o Palm OS volte a utilizar o Launcher padrão do Palm OS, basta executar novamente a função PrefSetPreference, informando o Creator ID lnch.
Private Sub btnVoltar_Click()
'Volta para o que era antes...
PrefSetPreference prefLauncherAppCreator, CreatorToLong("lnch")
'"lnch" é Creator ID do Launcher padrão do Palm OS
End Sub
Considerações
Como você deve ter percebido, qualquer aplicação pode ser definida como Launcher padrão do sistema, desde que você saiba o Creator ID correspondente. Uma dica para descobrir o Creator ID das aplicações, é utilizar o aplicativo FileZ, como descrito no artigo "O papel do Creator ID na arquitetura Palm OS" aqui no PDAExpert.
Importante: Antes de definir sua aplicação como Launcher padrão do sistema, certifique-se de que ela está totalmente livre de erros, pois caso ocorra algum problema com a aplicação, você terá de efetuar um HardReset no PDA, e poderá perder informações importantes. De preferência, crie sempre um mecanismo de emergência, que possa ser ativado por senha, por exemplo, e que permita retornar ao Launcher padrão do Palm OS.
Histórico
- 11/05/2007 - Primeira versão deste artigo.
Sobre o Autor
Caio Proiete é Arquiteto de Soluções, especialista em desenvolvimento de softwares para PDAs e telefones celulares, principalmente nas plataformas Palm OS, Windows Mobile e Symbian OS.
Atualmente suas principais ferramentas/tecnologias de trabalho incluem CodeWarrior C++, Handheld Basic, eMbedded Visual C++, .NET Compact Framework, C# .NET, e Carbide.c++.
Possui extensa experiência em arquitetura e desenvolvimento de sistemas baseados em web e smart-clients, gerenciamento de projetos e treinamento, e atua também como instrutor oficial Microsoft em centros de treinamentos (CLPS), e é detentor das seguintes certificações:
- MCT - Microsoft Certified Trainer;
- MCSD - Microsoft Certified Solution Developer;
- MCDBA - Microsoft Certified Database Administrator;
- MCAD .NET - Microsoft Certified Application Developer;
- MCSD .NET - Microsoft Certified Solution Developer for .NET;
- MCTS - Microsoft Certified Technology Specialist for Windows Mobile.
Veja o todos os artigos publicados por Caio Proiete no PDAExpert.
Artigos Relacionados
1 Comentário »
Comentários via RSS TrackBack URI
-
Josimar Bezerra em 06/07/2007 14:48
Muito bom artigo! Estou desenvolvendo em PocketStudio e gostaria de saber a forma variante desse artigo para PocketStudio. Vou perguntar no Fórum!


Envie seu comentário
ATENÇÃO: A área de comentários deve ser utilizada apenas para dúvidas sobre este artigo. Para dúvidas não relacionadas a este artigo, utilize o Fórum PDAExpert.net.