メールを開始したいAndroidアプリがあります。次のコードは、API レベル 5 エミュレーターでは機能しますが、レベル 2 エミュレーターまたはデバイスでは機能しません。
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Email from MyApp");
emailIntent.setType("text/plain");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT,
"This email was autogenerated by MyApp.");
try {
startActivity(emailIntent);
} catch (Exception e) {
Log.e(TAG,e.getMessage());
showDialog(DIALOG_CANTSENDMAIL);
}
スローされた例外は次のように述べています。
No Activity found to handle Intent { action=android.intent.action.SEND (has extras) }
テストされたすべてのデバイス (エミュレートされたものと実際のもの) から手動で電子メールを送信できます。これはレベル 5 API で機能します。Intent.ACTION_SEND のドキュメントによると、API レベル 1 からアクティブになっています。