diff --git a/briar-android/res/values/strings.xml b/briar-android/res/values/strings.xml
index 5dfab8627c87b40d5093056d7531a8142dc5dffb..9856adbc659a624d2f4e3b34d2b08a1d672fa951 100644
--- a/briar-android/res/values/strings.xml
+++ b/briar-android/res/values/strings.xml
@@ -193,6 +193,7 @@
 	<string name="introduction_message_text">You can compose a message that will be sent to %1$s and %2$s along with your introduction:</string>
 	<string name="introduction_message_hint">Type message (optional)</string>
 	<string name="introduction_button">Make Introduction</string>
+	<string name="introduction_sent">Your introduction has been sent.</string>
 	<string name="introduction_error">There was an error making the introduction.</string>
 	<string name="introduction_response_error">Error when responding to introduction</string>
 	<string name="introduction_warn_different_identities_title">Warning: Different Identities</string>
diff --git a/briar-android/src/org/briarproject/android/contact/ConversationActivity.java b/briar-android/src/org/briarproject/android/contact/ConversationActivity.java
index 647cea18314fdbef2d7efe8c39729ab00fc8d129..c85e84d8c449cbdda01c18b7420e76676347603d 100644
--- a/briar-android/src/org/briarproject/android/contact/ConversationActivity.java
+++ b/briar-android/src/org/briarproject/android/contact/ConversationActivity.java
@@ -3,6 +3,7 @@ package org.briarproject.android.contact;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.os.Bundle;
+import android.support.design.widget.Snackbar;
 import android.support.v4.app.ActivityCompat;
 import android.support.v4.app.ActivityOptionsCompat;
 import android.support.v4.content.ContextCompat;
@@ -80,6 +81,7 @@ import javax.inject.Inject;
 import de.hdodenhof.circleimageview.CircleImageView;
 import im.delight.android.identicons.IdenticonDrawable;
 
+import static android.support.v4.app.ActivityOptionsCompat.makeCustomAnimation;
 import static android.widget.Toast.LENGTH_SHORT;
 import static java.util.logging.Level.INFO;
 import static java.util.logging.Level.WARNING;
@@ -92,11 +94,12 @@ public class ConversationActivity extends BriarActivity
 
 	private static final Logger LOG =
 			Logger.getLogger(ConversationActivity.class.getName());
+	private static final int REQUEST_CODE_INTRODUCTION = 1;
 
 	@Inject
 	AndroidNotificationManager notificationManager;
 	@Inject
-	protected ConnectionRegistry connectionRegistry;
+	ConnectionRegistry connectionRegistry;
 	@Inject
 	@CryptoExecutor
 	protected Executor cryptoExecutor;
@@ -183,6 +186,18 @@ public class ConversationActivity extends BriarActivity
 		component.inject(this);
 	}
 
+	@Override
+	protected void onActivityResult(int request, int result, Intent data) {
+		super.onActivityResult(request, result, data);
+
+		if (request == REQUEST_CODE_INTRODUCTION && result == RESULT_OK) {
+			Snackbar snackbar = Snackbar.make(list, R.string.introduction_sent,
+					Snackbar.LENGTH_SHORT);
+			snackbar.getView().setBackgroundResource(R.color.briar_primary);
+			snackbar.show();
+		}
+	}
+
 	@Override
 	public void onResume() {
 		super.onResume();
@@ -224,10 +239,11 @@ public class ConversationActivity extends BriarActivity
 				Intent intent = new Intent(this, IntroductionActivity.class);
 				intent.putExtra(IntroductionActivity.CONTACT_ID,
 						contactId.getInt());
-				ActivityOptionsCompat options = ActivityOptionsCompat
-						.makeCustomAnimation(this, android.R.anim.slide_in_left,
+				ActivityOptionsCompat options =
+						makeCustomAnimation(this, android.R.anim.slide_in_left,
 								android.R.anim.slide_out_right);
-				ActivityCompat.startActivity(this, intent, options.toBundle());
+				ActivityCompat.startActivityForResult(this, intent,
+						REQUEST_CODE_INTRODUCTION, options.toBundle());
 				return true;
 			case R.id.action_social_remove_person:
 				askToRemoveContact();
diff --git a/briar-android/src/org/briarproject/android/introduction/IntroductionActivity.java b/briar-android/src/org/briarproject/android/introduction/IntroductionActivity.java
index b42516e56a21b62758e65cfd0c5f5e522a1fd447..f2227d826257c7a2feb11d744642846c75db6435 100644
--- a/briar-android/src/org/briarproject/android/introduction/IntroductionActivity.java
+++ b/briar-android/src/org/briarproject/android/introduction/IntroductionActivity.java
@@ -85,11 +85,11 @@ public class IntroductionActivity extends BriarActivity implements
 		}
 	}
 
-	public int getContactId() {
+	int getContactId() {
 		return contactId;
 	}
 
-	public void showMessageScreen(View view, Contact c1, Contact c2) {
+	void showMessageScreen(View view, Contact c1, Contact c2) {
 
 		IntroductionMessageFragment messageFragment =
 				IntroductionMessageFragment
diff --git a/briar-android/src/org/briarproject/android/introduction/IntroductionMessageFragment.java b/briar-android/src/org/briarproject/android/introduction/IntroductionMessageFragment.java
index 42e0b93d1e74c9819e35c8a85df69b3b2add7150..7b277fb738f33a967918cb8d351c6981fdaf29b8 100644
--- a/briar-android/src/org/briarproject/android/introduction/IntroductionMessageFragment.java
+++ b/briar-android/src/org/briarproject/android/introduction/IntroductionMessageFragment.java
@@ -29,6 +29,7 @@ import javax.inject.Inject;
 import de.hdodenhof.circleimageview.CircleImageView;
 import im.delight.android.identicons.IdenticonDrawable;
 
+import static android.app.Activity.RESULT_OK;
 import static android.view.View.GONE;
 import static android.view.View.VISIBLE;
 import static android.widget.Toast.LENGTH_SHORT;
@@ -170,7 +171,7 @@ public class IntroductionMessageFragment extends BaseFragment {
 		});
 	}
 
-	public void onButtonClick(final Contact c1, final Contact c2) {
+	private void onButtonClick(final Contact c1, final Contact c2) {
 		// disable button to prevent accidental double invitations
 		ui.button.setEnabled(false);
 
@@ -179,7 +180,8 @@ public class IntroductionMessageFragment extends BaseFragment {
 
 		// don't wait for the introduction to be made before finishing activity
 		introductionActivity.hideSoftKeyboard(ui.message);
-		introductionActivity.finish();
+		introductionActivity.setResult(RESULT_OK);
+		introductionActivity.supportFinishAfterTransition();
 	}
 
 	private void makeIntroduction(final Contact c1, final Contact c2,