0

サポートされているインテントを確認するための次のコードがあります。電子メール サポートを確認すると、コードはエミュレータで期待どおりに動作します。実際のデバイス HTC Wildfire と Samsung 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;
}

任意のポインタをいただければ幸いです。前もって感謝します。

4

1 に答える 1

1

に含めるのを忘れた MIME タイプを追加してみてくださいACTION_SEND IntentsetType()入れているコンテンツの MIME タイプEXTRA_TEXT(この場合は明らかに) で呼び出す必要がありますtext/plain

于 2012-06-09T11:16:57.933 に答える