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