2017-02-19 26 views
0

メールアプリケーションを使用してメールを送信するための「mailto」ボタンを作成します。ボタンをクリックすると2つのオプション(gmail、outlook)が表示されます。 Outlookアプリケーションのみを表示する方法はありますか?電子メールのURLスキームAndroidの場合

答えて

0

はい、可能性があります。最初にパッケージマネージャーを取得する必要があります。 queryIntentActivities()メソッドを介して受け取った利用可能な一致のリストを繰り返し処理します。そして、そのOutlook Appのパッケージ名を渡して、そのアプリを見つけます。コードは以下のとおりです。

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

関連する問題