Android - Как открыть почтовый клиент напрямую
Я хочу открыть почтовый клиент по умолчанию, а не показывать параметры. Я пытался, но я не получаю пожалуйста, кто-нибудь может мне помочь.
я использовал следующий код:
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("text/html");
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "My Allergy Journal");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml("<small>"+sb.toString()+"</small>"));
startActivity(Intent.createChooser(emailIntent, "Email:"));
это Показать параметры
но я хочу открыть почтовый клиент по умолчанию напрямую.
2 ответов
вы можете использовать следующий код, чтобы открыть каким намерением вы хотите, например, Gmail, facebook, электронная почта и т. д..Простой в типе, как используется в моем коде pass "gmail" если вы хотите открыть gmail, передайте "лицо", если вы хотите открыть facebook
Intent intent = new Intent(android.content.Intent.ACTION_SEND);
intent.setType("text/html");
List<ResolveInfo> resInfo = getPackageManager().queryIntentActivities(intent, 0);
if (!resInfo.isEmpty())
{
for (ResolveInfo info : resInfo)
{
if (info.activityInfo.packageName.toLowerCase().contains(type) || info.activityInfo.name.toLowerCase().contains(type))
{
intent.putExtra(android.content.Intent.EXTRA_TEXT, htmlBody);
intent.setPackage(info.activityInfo.packageName);
startActivity(Intent.createChooser(intent, getResources().getString(R.string.share_send_text)));
}
}
рамка строки в формате String URI="mailto:?subject=" + subject + "&body=" + body;
и
Intent intent = new Intent(Intent.ACTION_VIEW);
Uri data = Uri.parse(URI);
intent.setData(data);
startActivity(intent);
откроется программа электронной почты по умолчанию, выбранная пользователем.
Linkify
именно так. Проверьте это исходный код, если вам нравится.