Когато искам да изпратя текст с имейл клиент на устройството, възможно ли е да се види кой имейл клиент (напр. Gmail или Yahoo поща) е избран, преди да поставя текста на имейла в целта?
Отговори:
2 за отговор № 1За съжаление не. Когато стартирате намерението за избор, потребителят трябва да реши къде да отиде / какво да използва. Всички данни трябва да бъдат зададени преди стартирането на намерението и нямате контрол, докато активността не се върне. не може да повлияе на текста на съобщението въз основа на техния избор в диалоговия прозорец.
0 за отговор № 2
Това не може да се осъществи с помощта на избирателя по намерение по подразбиране.
PackageManager manager = getPackageManager();
List<ResolveInfo> ri = manager.queryIntentActivities(intent,
PackageManager.GET_RESOLVED_FILTER);
След това можете да пристъпите към показване на това в списък, да наблюдавате кой избор е направил потребителят и да изпълните някакво специфично за селекцията намерение.
0 за отговор № 3
можете изрично да се обадите на желания от вас компонент, за да направите услугата си. Искам да изпращам имейли като използвам gmail
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
}
}
И не забравяйте да добавите разрешение за интернет