2017-02-19 65 views
0

我创建按钮,使用“mailto”通过电子邮件应用程序发送电子邮件,当我点击它显示2选项(Gmail,Outlook)的按钮。有没有一种可能的方式只显示Outlook应用程序?电子邮件URL方案对于Android

回答

0

是的,有一种可能的方法。您需要先获得软件包管理器。并遍历通过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); 

希望这会帮助你。

+0

不能用javascript做到这一点? – ysf15

+0

@ ysf15你为什么需要使用JavaScript?你不是在工作吗? –

+0

没有iam不适用于本地应用程序,我正在使用Microsoft Dynamics CRM – ysf15

相关问题