Отправить электронное письмо о намерениях

1

Когда я хочу отправить какой-либо текст с почтовым клиентом на устройстве, можно ли увидеть, какой почтовый клиент (например, Gmail или Yahoo mail) был выбран до того, как я установил текст электронной почты в намерении?

Теги:
email
android-intent
send

3 ответа

2
Лучший ответ

К сожалению, нет. Когда вы запускаете намерение выбора, вы можете решить, куда идти/что использовать. Все данные должны быть установлены до запуска намерения, и у вас нет контроля до тех пор, пока активность не вернется. Другими словами, вы не можете повлиять на текст сообщения, основываясь на их выборе в диалоговом окне.

0

вы можете явно позвонить своему желаемому компоненту для выполнения своих услуг. Я хочу отправить электронное письмо с помощью 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
    }
}

И не забудьте добавить разрешение на доступ к Интернету

0

Это невозможно сделать с помощью выбора по умолчанию. Однако вы можете запросить, какие действия могут реагировать на ваши намерения:

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

Затем вы можете продолжить отображать это в списке, наблюдать, какой выбор сделан пользователем, и выполнить определенное selection- конкретное намерение.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню