The built in YouTube App for tablets has a sharing-option. For example: I watch a video in the YouTube app and click the button to share. Bluetooth, Googlemail, and Dropbox appear for me. I wonder how i can list my app there? Which intent-filter has my app to have? How do i get the video url then? Any idea? Thanks.
Asked
Active
Viewed 1.3k times
3 Answers
42
This worked for me. Add this intent filter to your manifest file to make your application appear in the share list of the youtube application.
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:host="www.youtube.com" android:mimeType="text/*" />
</intent-filter>
Then to retrieve it in your activity, use this :
Bundle extras = getIntent().getExtras();
String value1 = extras.getString(Intent.EXTRA_TEXT);
Here you are!

Ditraoult Gilbert Olivier
- 436
- 5
- 2
-
Why the hell does this one work, but this one (http://stackoverflow.com/questions/525063/android-respond-to-url-in-intent) doesn't? – PedroD Aug 03 '15 at 14:04
-
2It works but android:scheme is missing from , what should we put there? – PedroD Aug 03 '15 at 14:06
-
2You may add `android:scheme="http"` to ` – arc May 15 '16 at 09:22
-
This answer doesn't work exclusively for YouTube, you can share any text to your Activity, if you use this `intent-filter`. I thought that this was because of the missing scheme but adding a `https` scheme removes `myApp` from the IntentChooser altogether. – Samuel Bushi Feb 11 '18 at 19:45
4
I played around a bit and ended with this solution:
<intent-filter android:label="My YT Handler">
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT"/>
<data android:host="youtu.be" android:mimeType="text/*" />
</intent-filter>

rekire
- 47,260
- 30
- 167
- 264
0
It looks like Youtube have changed share intent so for me only solution that works is the one I copied from android Telegram manifest. Solution is tested and working on Marshamallow 6.0.1 and Lolipop 5.1.1.
<intent-filter android:label="@string/app_name">
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="*/*"/>
</intent-filter>

xyman
- 399
- 3
- 10