Отправить электронное письмо о намерениях - PullRequest
1 голос
/ 10 июня 2011

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

Ответы [ 3 ]

2 голосов
/ 10 июня 2011

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

0 голосов
/ 07 января 2015

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...