HB++: Definir Aplicação como Launcher Padrão

Gostou deste artigo? Compartilhe!

CategoriasPalm OS, Handheld Basic
ComentáriosComentários (1)

HB++: Definir Aplicação como Launcher Padrão

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.

Launcher Padrão do Palm OS

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 ProieteCaio 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

  1. 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.

Nome

E-mail

URL

Comentário

XHTML: São permitidas as seguintes tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

campos obrigatórios