I am trying to mail data using this code:
email = (Button) findViewById(R.id.enail);
email.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent emailIntent = new Intent(
android.content.Intent.ACTION_SEND);
emailIntent.setAction(Intent.ACTION_SEND);
emailIntent.setType("message/rfc822");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,
new String[] { "" });
emailIntent.putExtra(android.content.Intent.EXTRA_CC, "");
emailIntent.putExtra(android.content.Intent.EXTRA_BCC, "");
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,
"Playlist Details");
emailIntent.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(Detail));
emailIntent.setType("text/html");
startActivity(emailIntent);
}
});
But it throws the following error:
07-17 12:31:33.438: E/AndroidRuntime(498): FATAL EXCEPTION: main
07-17 12:31:33.438: E/AndroidRuntime(498): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.SEND (has extras) }
07-17 12:31:33.438: E/AndroidRuntime(498): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1408)
07-17 12:31:33.438: E/AndroidRuntime(498): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1378)
07-17 12:31:33.438: E/AndroidRuntime(498): at android.app.Activity.startActivityForResult(Activity.java:2817)
07-17 12:31:33.438: E/AndroidRuntime(498): at android.app.Activity.startActivity(Activity.java:2923)
07-17 12:31:33.438: E/AndroidRuntime(498): at com.playlist.ViewPlayList$3.onClick(ViewPlayList.java:93)
07-17 12:31:33.438: E/AndroidRuntime(498): at android.view.View.performClick(View.java:2408)
07-17 12:31:33.438: E/AndroidRuntime(498): at android.view.View$PerformClick.run(View.java:8816)
07-17 12:31:33.438: E/AndroidRuntime(498): at android.os.Handler.handleCallback(Handler.java:587)
07-17 12:31:33.438: E/AndroidRuntime(498): at android.os.Handler.dispatchMessage(Handler.java:92)
07-17 12:31:33.438: E/AndroidRuntime(498): at android.os.Looper.loop(Looper.java:123)
07-17 12:31:33.438: E/AndroidRuntime(498): at android.app.ActivityThread.main(ActivityThread.java:4627)
07-17 12:31:33.438: E/AndroidRuntime(498): at java.lang.reflect.Method.invokeNative(Native Method)
07-17 12:31:33.438: E/AndroidRuntime(498): at java.lang.reflect.Method.invoke(Method.java:521)
07-17 12:31:33.438: E/AndroidRuntime(498): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
07-17 12:31:33.438: E/AndroidRuntime(498): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
07-17 12:31:33.438: E/AndroidRuntime(498): at dalvik.system.NativeStart.main(Native Method)
Please help me.
Call the
StartActivity
method in the following way:If System do not find any eamil application, A nice Dialog will be shown:
I know that i am answering an old question, but maybe it can help someone.
I tested this on my device, and the code works perfectly. And I testet this code on an emulator, too, and it crashed. The problem is that the OS didn't find any activities which can handle this
ACTION_SEND
. Surround this kind of code all the time with atry/catch
, since you can not be sure if there exists such an activity that can handle your intent. And try to install at least one app that can handle theACTION_SEND
, then try again, and see if it works for you.Yes problem was in emulator because it was not configured any email in emulator, if any one find this problem please configure email in your emulator, to do this
select email from application menu and follow the steps.
There's another subtle cause for this exception to occur.
My app sends an email in two different conditions. One condition I set the To: field - it required Intent.ACTION_SENDTO
But Intent.ACTION_SENDTO causes the described exeption in my other condition where To: is not supplied. In that condition Intent.ACTION_SEND was required.
try to use this for better practice showing a message to the user to setup a mail application.