2017-02-19 64 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

相關問題