Intents implicitas


Uma intent implicita basicamente declara uma ação geral a ser realizada, o que permite por exemplo a comunicação com outras aplicações instaladas no aparelho, com esse recurso podemos disparar uma intent genericar que o sistema android tentara resolve-la, caso exista alguma aplicação para tratar a sua ação, ela sera chamada, como por exemplo queremos exibir a localização do usuario em um mapa, nos podemos utilizar a intent implicita para chamar algum aplicativo que possua essa função capaz de exibir em um mapa a localização do usuario, caso não exista nenhuma aplicação, sera levantado uma exception.

Exemplo de como utilizar uma intent implicita para enviar um SMS ou abrir a tela de configurações do android.

Intent Implicita para envio de SMS

Uri uri = Uri.parse("sms:12345");
Intent intent = new Intent(Intent.ACTION_VIEW, uri)
    .putExtra("sms_body", "Corpo do SMS");
if (intent.resolveActivity(getPackageManager()) != null) {
    startActivity(intent);
} else {
    Toast.makeText(this, "Erro ao tentar abrir a ação", Toast.LENGTH_SHORT).show();
}

Intent Implicita para abrir as configurações do android

Intent intent = new Intent(Settings.ACTION_SETTINGS);
if (intent.resolveActivity(getPackageManager()) != null) {
    startActivity(intent)
} else {
    Toast.makeText(this, "Não existe nenhuma aplicação para executar a ação.", Toast.LENGHT_SHORT).show();
}

Intents que podem ser abertas utilizando a classe Settings

https://developer.android.com/reference/android/provider/Settings.html?hl=pt-br


Alguns exemplos de Intents

https://developer.android.com/guide/components/intents-common.html?hl=pt-br

results matching ""

    No results matching ""