Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialMalcolm Mutambanengwe
4,205 Pointsstart Activity for intent
Steve Hunter Am on question 4 of 4. Stumped. Read the Google docs. I don't see what I'm doing wrong.
String textToShare = "Learn something new at www.teamtreehouse.com";
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT, textToShare);
activity.startActivityForResult(shareIntent.createChooser(intent, "Share"));
2 Answers
Jason Wiram
42,762 Points- The intent being passed into the final line of code should be named "shareIntent" (not intent).
- You can call startActivity() without the need for "activity.startActivity()".
- There is no need for "startActivityForResult()" since you don't need a callback. You can use "startActivity()"
From Google (Android developer docs): Starting another activity doesn't have to be one-way. You can also start another activity and receive a result back. To receive a result, call startActivityForResult() (instead of startActivity()).
String textToShare = "Learn something new at www.teamtreehouse.com";
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT, textToShare);
activity.startActivityForResult(shareIntent.createChooser(shareIntent, "Share"));
Malcolm Mutambanengwe
4,205 PointsHi Jason Wiram
Thanks for that. Google docs are still a bit confusing for me.
String textToShare = "Learn something new at www.teamtreehouse.com";
Intent shareIntent = new Intent(Intent.ACTION_SEND); shareIntent.setType("text/plain"); shareIntent.putExtra(Intent.EXTRA_TEXT, textToShare);
startActivity(intent.createChooser(shareIntent, "Share"));
this finally made sense.
Jason Wiram
42,762 PointsSweet! Docs can always be a challenge to understand, but glad you got it working.
Jason Wiram
42,762 PointsJason Wiram
42,762 PointsEDIT: moved my comment to an answer.