检查电子邮件意图也会在实际设备上返回false

时间:2012-06-09 06:18:13

标签: android email android-intent

我有以下代码来检查支持的意图。当我检查电子邮件支持时,代码在模拟器上的行为与预期的一样。当我在我的实际设备上运行相同的HTC Wildfire和三星Galaxy Nexus时, isEmailSupported 方法返回false。

public static boolean isEmailSupported(Context context) {
    Intent emailIntent = new Intent(Intent.ACTION_SEND);
    emailIntent.putExtra(Intent.EXTRA_EMAIL, "example@example.com");
    emailIntent.putExtra(Intent.EXTRA_TEXT, "Lorem ipsum...");
    return isIntentSupported(context, emailIntent);
}

public static boolean isIntentSupported(Context context, Intent intent) {
    PackageManager packageManager = context.getPackageManager();
    List<ResolveInfo> intentActivities = packageManager.queryIntentActivities(
            intent, PackageManager.MATCH_DEFAULT_ONLY);
    return intentActivities != null && intentActivities.size() > 0;
}

任何指针都将非常感激。提前谢谢。

1 个答案:

答案 0 :(得分:1)

尝试添加您忘记包含在ACTION_SEND Intent中的MIME类型。您必须使用setType()内容的MIME类型调用EXTRA_TEXT(在这种情况下,显然是text/plain)。