Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"No Activity found to handle Intent" while emailing data

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.

like image 737
Jignesh Ansodariya Avatar asked Jul 17 '12 07:07

Jignesh Ansodariya


People also ask

Could not open URL Whatsapp app ': No activity found to handle intent?

You see no activity found to handle intent when you attempt to launch an intent either to open a link or to access an app component. It's an error message that is caused because the device is not an official android, Google Play is not supported, or it's a rooted device.

What is an intent in Java?

An intent is to perform an action on the screen. It is mostly used to start activity, send broadcast receiver,start services and send message between two activities. There are two intents available in android as Implicit Intents and Explicit Intents. Here is a sample example to start new activity with old activity.


1 Answers

Call the StartActivity method in the following way:

    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");  // FOLLOWING STATEMENT CHECKS WHETHER THERE IS ANY APP THAT CAN HANDLE OUR EMAIL INTENT  startActivity(Intent.createChooser(emailIntent,                         "Send Email Using: ")); 

If System do not find any eamil application, A nice Dialog will be shown:

enter image description here


I know that i am answering an old question, but maybe it can help someone.

like image 183
Shajeel Afzal Avatar answered Sep 21 '22 22:09

Shajeel Afzal