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