Как открыть почтовый клиент без отправки письма с помощью намерений? - PullRequest
0 голосов
/ 06 февраля 2019

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

Мне удалось найти решения для запуска электронной почты только при создании электронной почты.

1 Ответ

0 голосов
/ 06 февраля 2019

для этого вам нужно создать собственный выбор, например, вы можете создать BottomSheetDialog, который имеет RecyclerView из ResolveInfo элементов

получить пакеты, которые могут отправлять электронную почту

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "test");
sendIntent.setType("text/plain");
List<ResolveInfo> resolveInfoList = getActivity().getPackageManager()
        .queryIntentActivities(sendIntent, 0);

и создав свои предметы, вы можете получить значок приложений на привязке своих предметов

   set(ResolveInfo info, int pos) {
                PackageManager pm = App.getInstance().getPackageManager();
                appName.setText(info.activityInfo.loadLabel(pm));
                appIcon.setImageDrawable(info.activityInfo.loadIcon(pm));
}

и по щелчку на предмете в представлении переработчика

Intent launchIntent = getPackageManager().getLaunchIntentForPackage(resolveInfo.activityInfo.packageName);
if (launchIntent != null) { 
    startActivity(launchIntent);//null pointer check in case package name was not found
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...