Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android youtube:将youtube视频共享到我的应用程序?_Android_Video_Android Intent_Youtube_Share - Fatal编程技术网

android youtube:将youtube视频共享到我的应用程序?

android youtube:将youtube视频共享到我的应用程序?,android,video,android-intent,youtube,share,Android,Video,Android Intent,Youtube,Share,内置的用于平板电脑的YouTube应用程序有一个共享选项。例如:我在YouTube应用程序中观看视频,然后单击按钮共享。蓝牙、谷歌邮箱和Dropbox为我出现。 我想知道如何在那里列出我的应用程序?我的应用程序应该使用哪个意向过滤器?那么如何获取视频url? 有什么想法吗? 谢谢。这对我很有效。 将此意图过滤器添加到清单文件中,使您的应用程序显示在youtube应用程序的共享列表中 <intent-filter> <action android:name="android

内置的用于平板电脑的YouTube应用程序有一个共享选项。例如:我在YouTube应用程序中观看视频,然后单击按钮共享。蓝牙、谷歌邮箱和Dropbox为我出现。 我想知道如何在那里列出我的应用程序?我的应用程序应该使用哪个意向过滤器?那么如何获取视频url? 有什么想法吗? 谢谢。

这对我很有效。 将此意图过滤器添加到清单文件中,使您的应用程序显示在youtube应用程序的共享列表中

<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>

给你

看起来Youtube已经改变了共享意图,所以对我来说唯一有效的解决方案就是我从android电报清单复制的解决方案。 对溶液进行测试,并在Marshamallow 6.0.1和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>

我玩了一会儿,最后使用了以下解决方案:

<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>


为什么这一个可行,但这一个()不行?它可行,但android:scheme缺少,我们应该放在那里什么?你可以将
android:scheme=“http”
添加到
这个答案不专用于YouTube,如果你使用
意图过滤器,你可以将任何文本共享到你的活动中。我认为这是因为缺少了scheme,但是添加
https
scheme会将
myApp
从IntentChooser中删除。
<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>