How to send an email from your Android application…

If you’re like me, you’ll certainly like to hear feedback on your applications out there on the market, and what better method than via a direct email link.

I usually opt for a “contact me” button, which when clicked will open up the phones email client with a new email ready. The mail-to and subject will already be set so all the user needs to do is to type in their message and send. Lets have a look at setting this up in your application.

First thing you’ll need is the button, so go ahead and add this whereever you want the button :

<Button
                android:layout_height="wrap_content"
                android:layout_width="fill_parent"
                android:text="@string/linkEmail"
                android:onClick="linkEmailClicked"
                android:singleLine="true"/>

Take note of the onClick property, we’ll need that in a moment. Now either create a new activity, or add the following method into an existing activity :

/**
     * This method will be invoked when the user clicks on "email me" link
     * in the About the developer page, which will then spawn an email to
     * me
     * @param v View Default view
     */
    public void linkEmailClicked(View v)
    {
        Intent it = new Intent(Intent.ACTION_SEND);
        String[] tos = {getString(R.string.emailAddress)};
        it.putExtra(Intent.EXTRA_EMAIL, tos);
        it.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.emailSubject));
        it.setType("text/plain");
        startActivity(it);
    }

Notice how the method name matches the onClick property in the XML? That’s how android works out what to invoke when the button is clicked. All the above code samples are from production code, so they should work fine for you!

This is incredibly simple, I don’t need to explain much here, other than storing my email address and email subject in the strings.xml file for ease of configuration.

Further Reading

5 thoughts on “How to send an email from your Android application…”

  1. Good day
    This is exactly what I was looking for. But because I am new to Android developing, I don’t know how to set up the “string” actually I know but I don’t understand how the “string” must be written.
    for example ” emailAddress

    I don’t yet understand quite this things.
    I will appreciate if you submit here the needed strings in order to work this project.
    Thanks

  2. Ok

    I have figure it out how this works. It is great and is exactly what I wanted.

    Now, is it possible to set a standard email address and a standard email subject?

    Thanks

Leave a Reply

Your email address will not be published. Required fields are marked *