【问题标题】:Open vimeo application via URL通过 URL 打开 vimeo 应用程序
【发布时间】:2016-03-17 08:08:08
【问题描述】:

这段代码带我到浏览器,我有vimeo应用,怎么去vimeo应用?

vimeo1.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {
                Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://player.vimeo.com/video/83178705?"));
                startActivity(browserIntent);
            }
        });

已编辑

vimeo1.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {
                try{
                     Intent browserIntent = new Intent(Intent.ACTION_VIEW,
                     Uri.parse("http://player.vimeo.com/video/83178705"));
                     browserIntent.setPackage("com.vimeo.android.videoapp");
                     startActivity(browserIntent);
                  }
                catch(Exception e){
                    // App is not Installed
                    //Navigate to Play Store or display message                         
                }

            }
        });

【问题讨论】:

    标签: android eclipse url


    【解决方案1】:

    使用官方 Vimeo 应用程序,您可以这样做:

    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://player.vimeo.com/video/83178705")));
    

    虽然这看起来与您的代码几乎相同,除了缺少?,在我的 Android 手机上它运行良好(打开 Vimeo 应用程序)。

    【讨论】:

    • 我改了,它去了浏览器,我去掉了startActivity(browserIntent);我也去浏览器了……没用,能不能写完整的Java代码?
    • 你确定你已经安装了官方的 Vimeo 客户端并且之前已经打开/使用过它吗?看起来它还没有注册它的 url 处理程序。
    【解决方案2】:

    实际上,我们最近创建了一个 vimeo-deeplink-android 库,它应该可以帮助您准确地实现您想要做的事情。

    您可以将其包含在 gradle 中:

    compile 'com.vimeo.android.deeplink:vimeo-deeplink:1.0.0'

    然后使用this method 深层链接到您的视频:

    boolean handled = VimeoDeeplink.showVideoWithUri(Context context, String videoUri)

    其中videoUri 等于/videos/83178705。

    【讨论】:

      【解决方案3】:

      试试这个,在重定向时设置包名。

      如果没有安装与该包相关的应用程序,将调用catch 块。

      try{
           Intent browserIntent = new Intent(Intent.ACTION_VIEW,
           Uri.parse("http://player.vimeo.com/video/83178705"));
           browserIntent.setPackage("com.vimeo.android.videoapp");
           startActivity(browserIntent);
        }
      catch(Exception e){
          // App is not Installed
          //Navigate to Play Store or display message                         
      }
      

      编辑

      我已经检查过了,你说得对,它不起作用。我改成了我的代码。现在它的打开应用程序但视频没有运行,我不知道为什么。 检查这个更新的代码。

      try{
         Intent browserIntent = null;
         PackageManager pmi = getPackageManager();
         browserIntent =     pmi.getLaunchIntentForPackage("com.vimeo.android.videoapp");
         browserIntent.setAction(Intent.ACTION_VIEW);
         browserIntent.setData(Uri.parse("http://player.vimeo.com/video/83178705"));
      
         startActivity(browserIntent);
      }
      catch(Exception e){
         // App is not Installed
         //Navigate to Play Store or display message
         Toast.makeText(MainActivity.this, "In Catch Block", Toast.LENGTH_SHORT).show();
      }
      

      【讨论】:

      • 我把它写在 EDITED 部分,我不能点击它:/
      • 什么意思,不能点击。如果你说什么都没发生,我 90% 确定你没有安装官方应用程序。
      • 我从play.google.com/store/apps/… 安装了它,并且链接根本停止了任何操作!
      • @Roa 检查这个更新的代码,它导航到应用程序但视频不工作
      • 它将我带到 Vimeo 应用程序,但它没有打开 URL 或任何其他!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-26
      • 2016-01-31
      • 2016-06-18
      • 2014-11-06
      • 1970-01-01
      • 2019-09-03
      • 1970-01-01
      相关资源
      最近更新 更多