Aplicativos de terceiros, assim como os nossos, podem disponibilizar novas funcionalidades acessíveis via Intents. Existem, por exemplo, aplicativos de leitura de códigos de barra que podem ser chamados pela sua aplicação para lê-los utilizando a câmera do aparelho e devolver o resultado para ser processado por um método da sua aplicação.
Podemos criar e utilizar as Intents de diversas maneiras e a seguir veremos alguns exemplos. O trecho de código abaixo mostra como abrir uma página utilizando o navegador que acompanha o Android:
Uri uri = Uri.parse("http://www.android.com" );
Intent intent = new Intent (Intent.ACTION_VIEW, uri);
startActivity (intent);
Um objeto do tipo Uri foi criado a partir de uma string representando o endereço eletrônico que desejamos acessar via protocolo HTTP. Em seguida, instanciamos uma nova Intent informando a ação que gostaríamos de executar (Intent.ACTION_VIEW), juntamente com a Uri criada. Observe que o construtor da classe Intent, neste caso, recebeu dois parâmetros. Contudo, existem outros construtores da classe Intent que possuem comportamentos diferentes do mostrado neste exemplo. Saiba+ sobre os construtores.
Continuando a explicação do código fonte de exemplo, após a criação do objeto do tipo Intent, chamamos o método startActivity da classe Activity passando a intent como parâmetro. Repare que não indicamos exatamente a activity que deve ser iniciada para abrir o site desejado. Neste caso, a nossa Intent é classificada como implícita. Com base na ação Intent.ACTION_VIEW e no conteúdo da Uri da Intent, o Android decide qual a activity, já registrada de maneira prévia no sistema, é mais adequada para resolver a URI informada. Neste caso o escolhido é o navegador web.
A seguir, temos um outro exemplo de como iniciar uma nova activity existente na nossa aplicação, passando no construtor da Intent a classe correspondente a activity que deve ser iniciada.
Intent intent = new Intent (this, OutraActivity.class);
startActivity (intent);
Para conhecer mais sobre os construtores acesse: http://developer.android.com/intl/pt-br/reference/android/content/Intent.html#pubctors.
X