3

我试图接收来自 Youtube 应用程序的意图。即,当我按下共享时,它应该在准备接受此意图的应用程序上列出我的应用程序。但这些都不起作用

<intent-filter>
  <action android:name="android.intent.action.SEND" />
  <category android:name="android.intent.category.DEFAULT" />
  <data android:mimeType="image/*" />
  <data android:mimeType="video/*" />
  <data
    android:host="*"
    android:scheme="youtube" />
  <data
    android:host="*"
    android:scheme="vnd.youtube" />
</intent-filter>

或与动作视图

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />
  <data android:mimeType="image/*" />
  <data android:mimeType="video/*" />
  <data
    android:host="*"
    android:scheme="youtube" />
  <data
    android:host="*"
    android:scheme="vnd.youtube" />
</intent-filter>

关于如何在发送后也获得意图的任何想法?谢谢

4

3 回答 3

0

The YouTube app sends text/plain data, so register your activity as a receiver of that mimetype:

<intent-filter>
    <action android:name="android.intent.action.SEND" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="text/plain" />
</intent-filter>
于 2014-01-21T16:13:34.113 回答
0

你似乎很困惑。您使用的意图似乎是像 YouTube 应用程序本身这样的应用程序用来打开视频的意图。你想要的是分享一个 YouTube 视频,即一个链接,所以正如其他答案所提到的,你应该声明一个text/plain意图过滤器。

但是,此意图过滤器将捕获所有text/plain内容,而不仅仅是来自 YouTube 的内容。请参阅:意图过滤器:如何仅接受包含单词“spaghetti”的“text/plain”意图

于 2015-01-11T22:05:16.977 回答
0
        <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>
        <intent-filter>
            <action android:name="android.intent.action.SEND" />
            <category android:name="android.intent.category.DEFAULT" />
            <data
                android:host="m.youtube.com"
                android:mimeType="text/plain" />
        </intent-filter>
于 2014-12-04T10:30:34.907 回答