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 № 1Infelizmente 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