如何直接从 Android 应用程序打开 YouTube 视频链接?

问题描述 投票:0回答:4

我想通过单击 Button 来播放 YouTube 视频,但我收到了一个我不想显示的操作对话框窗口。我希望 YouTube 视频链接应在单击按钮时直接在 YouTube 应用程序中打开,而不是显示此“选择操作”窗口:

怎么可能?

代码:

 playVideo.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.youtube.com/watch?v=bzSTpdcs-EI")));
        }
    });
android android-intent youtube
4个回答
9
投票

您可以设置YouTube应用程序的包名称:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.youtube.com/watch?v=bzSTpdcs-EI"));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setPackage("com.google.android.youtube");
startActivity(intent)

3
投票

您可以使用以下代码直接向 YouTube 应用启动意图。

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("https://www.youtube.com/watch?v=bzSTpdcs-EI"));
intent.setPackage("com.google.android.youtube");
startActivity(intent);

将此代码包含在 try catch 中,以避免设备中不存在 youtube 时出现异常。


2
投票

我认为最好的方法是:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube://" + id));
startActivity(intent);

URL 中的 ID 为 YykjpeuMNEk https://www.youtube.com/watch?v=YykjpeuMNEk


1
投票

设备错误处理上没有任何 YouTube 应用的 Kotlin 建议:

try {
    val intent = Intent(Intent.ACTION_VIEW)
    intent.data = Uri.parse("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
    intent.setPackage("com.google.android.youtube")
    startActivity(intent)
}
catch (e : Exception) {
    Snackbar.make(
        requireView(),
        "Don't you have YouTube? For real?",
        Snackbar.LENGTH_LONG).show()
}
© www.soinside.com 2019 - 2024. All rights reserved.