Я нашел различные темы здесь и в других местах, создавая намерение отправлять электронную почту, и это кажется довольно простым. Я ищу намерение просто запустить любой клиент электронной почты, который может быть у пользователя.Как создать намерение запустить любое приложение электронной почты?
Вот код, который я видел для отправки электронной почты (размещена только для справки, это не отвечает моим потребностям, я не хочу, чтобы отправить новое сообщение):
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(Intent.EXTRA_EMAIL , new String[]{"[email protected]"});
i.putExtra(Intent.EXTRA_SUBJECT, "Subject of the message");
i.putExtra(Intent.EXTRA_TEXT , "Body of the message");
Вот код, который я собрал специально для запуска клиента Gmail по имени пакета:
PackageManager pm = getPackageManager();
Intent intent = pm.getLaunchIntentForPackage("com.google.android.gm");
startActivity(intent);
код выше работ, но не является гибким в том, что пользователь не может использовать Gmail, но другие встроенный в приложении электронной почты или стороннем приложении электронной почты. Я ищу намерение, которое приведет к выбора в этом случае, чтобы пользователь мог решить, какое приложение запускается для чтения электронной почты.
Кто-нибудь знает, как это сделать?
Спасибо, похоже, это будет так, как я должен идти. Вы бы подумали, что это будет обычный тип намерений, который будет включен в состав платформы. – afonseca
Можете ли вы рассказать мне, как создать список почтовых клиентов и использовать с ним packmanager? – Bhargav
@Bhargav: Вы, безусловно, можете задать отдельный вопрос о переполнении стека. – CommonsWare