0
我创建按钮,使用“mailto”通过电子邮件应用程序发送电子邮件,当我点击它显示2选项(Gmail,Outlook)的按钮。有没有一种可能的方式只显示Outlook应用程序?电子邮件URL方案对于Android
我创建按钮,使用“mailto”通过电子邮件应用程序发送电子邮件,当我点击它显示2选项(Gmail,Outlook)的按钮。有没有一种可能的方式只显示Outlook应用程序?电子邮件URL方案对于Android
是的,有一种可能的方法。您需要先获得软件包管理器。并遍历通过queryIntentActivities()方法接收到的可用匹配列表。并通过传递该应用程序的包名来找到该应用程序。代码如下。
Intent outlookIntent = new Intent(Intent.ACTION_SEND);
outlookIntent.setType("text/html");
final PackageManager pm = getPackageManager();
final List<ResolveInfo> matches = pm.queryIntentActivities(outlookIntent, 0);
String outlookActivityClass = null;
for (final ResolveInfo info : matches) {
if (info.activityInfo.packageName.equals("com.microsoft.office.outlook")) {
outlookActivityClass = info.activityInfo.name;
if (outlookActivityClass != null && !outlookActivityClass.isEmpty()) {
break;
}
}
}
outlookIntent.setClassName("com.microsoft.office.outlook", outlookActivityClass);
outlookIntent.putExtra(Intent.EXTRA_EMAIL, new String[] { "[email protected]" });
outlookIntent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
outlookIntent.putExtra(Intent.EXTRA_CC, "[email protected]"); // if necessary
outlookIntent.putExtra(Intent.EXTRA_TEXT, "Email message");
outlookIntent.setData(Uri.parse("[email protected]"));
startActivity(outlookIntent);
希望这会帮助你。
不能用javascript做到这一点? – ysf15
@ ysf15你为什么需要使用JavaScript?你不是在工作吗? –
没有iam不适用于本地应用程序,我正在使用Microsoft Dynamics CRM – ysf15