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