我正在尝试从YouTube应用程序共享按钮获取视频的字符串URL。到目前为止,我可以检索从youtube发送到我的应用的操作和Intent的类型,但是我无法弄清楚如何获取数据。 问题是,当我尝试获取Extras时,我需要youtube发送的密钥才能检索字符串。有什么方法可以检索数据?
var myintent = Intent;
string action = myintent.Action;
string type = myintent.Type;
string youtubeString = myintent.Extras.GetString("key")
答案 0 :(得分:1)
在YouTube应用的测试共享中,我获得了“主题和文字”,其中“主题”是视频的描述,“文字”是URL。如果您调试并破坏以便可以检查bundle
,则会看到其中包含以下内容:
{Bundle[{android.intent.extra.SUBJECT=Watch "Preview: Can One Girl Save Humanity? | Season 1 | THE PASSAGE" on YouTube, android.intent.extra.TEXT=https://youtu.be/5TkqFuiHwFg}]}
因此,您需要使用android.intent.extra.SUBJECT
键和android.intent.extra.TEXT
,但是这些是Android本机键。您将要使用Xamarin.Android等效项,它们是Intent.ExtraSubject
和Intent.ExtraText
因此,在处理OnCreate
的活动的Intent
方法中,您要做的就是:
var bundle = Intent.Extras;
var url = bundle?.GetString(Intent.ExtraText);
var subject = bundle?.GetString(Intent.ExtraSubject);
请注意,对捆绑软件的无效检查是因为捆绑软件在应用程序首次启动时将为null,并且仅当从YouTube共享视频时才为非null。