/ / Enviar seletor de intenção de e-mail - android, email, intenção de android, enviar

Enviar e-mail intent chooser - android, e-mail, android-intent, enviar

Quando desejo enviar algum texto com um cliente de email no dispositivo, é possível ver qual cliente de email (por exemplo, Gmail ou Yahoo Mail) foi escolhido antes de definir o texto do email na intenção?

Respostas:

2 para resposta № 1

Infelizmente não. Quando você inicia a intenção do seletor, cabe ao usuário decidir para onde ir / o que usar. Todos os dados devem ser configurados antes de iniciar a intenção, e você não tem controle até que a atividade retorne. Em outras palavras, você não pode afetar o texto da mensagem com base em sua escolha na caixa de diálogo.


0 para resposta № 2

Isso não pode ser realizado usando o seletor de intenção padrão. No entanto, você pode consultar quais atividades podem responder à sua intenção:

PackageManager manager = getPackageManager();
List<ResolveInfo> ri = manager.queryIntentActivities(intent,
PackageManager.GET_RESOLVED_FILTER);

Em seguida, você pode continuar exibindo isso em uma lista, observar qual seleção o usuário fez e executar alguma intenção específica da seleção.


0 para resposta № 3

você pode ligar explicitamente para o componente desejado para prestar seu serviço. Quero enviar e-mail usando o Gmail como

public void sendGmail(Activity activity, String subject, String text) {
Intent gmailIntent = new Intent();
gmailIntent.setClassName("com.google.android.gm", "com.google.android.gm.ComposeActivityGmail");
gmailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
gmailIntent.putExtra(android.content.Intent.EXTRA_TEXT, text);
try {
activity.startActivity(gmailIntent);
} catch(ActivityNotFoundException ex) {
// handle error
}
}

E não se esqueça de adicionar permissão da Internet