【问题标题】:How to open a Youtube video link directly from android app?如何直接从 Android 应用打开 Youtube 视频链接?
【发布时间】:2017-05-13 17:05:05
【问题描述】:

我想通过点击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


    【解决方案1】:

    你可以设置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)
    

    【讨论】:

    • 可能想在设备上检查“com.google.android.youtube”吗?如果用户出于某种原因禁用了 youtube,知道当这个意图运行时会发生什么吗?
    【解决方案2】:

    我认为最好的方法是:

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

    id 是 YykjpeuMNEk 在 https://www.youtube.com/watch?v=YykjpeuMNEk

    【讨论】:

      【解决方案3】:

      您可以使用以下代码直接向 youtube 应用启动 Intent。

      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 时出现异常

      【讨论】:

        【解决方案4】:

        在设备错误处理上没有 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(),"You don't have youtube? For real?",Snackbar.LENGTH_LONG).show()
                }
        

        【讨论】:

          猜你喜欢
          • 2017-06-20
          • 1970-01-01
          • 2016-07-22
          • 1970-01-01
          • 1970-01-01
          • 2015-03-10
          • 2016-04-17
          • 2023-03-28
          相关资源
          最近更新 更多