2016-03-04 191 views
0

此代码将我带到浏览器,我有vimeo应用程序,它如何去vimeo应用程序?通过URL打开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); 
      } 
     }); 

EDITED

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       
       } 

      } 
     }); 

回答

0

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

如果没有安装与该软件包相关的应用程序,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(); 
} 
+0

我把它写在EDITED部分,我不能点击它:/ – Roa

+0

你是什么意思,你不能点击它。 如果你说什么都没有发生,我90%确定你没有安装官方应用程序。 –

+0

我从https://play.google.com/store/apps/details?id=com.vimeo.android.videoapp安装了它,并且链接停止了任何操作! – Roa

1

与官方Vimeo的应用程序,你可以这样做:

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

虽然这看起来几乎相同的代码,除了缺乏?的,我Android手机工作正常(打开Vimeo应用程序)。

+0

我改了它,它去了浏览器,我删除了startActivity(browserIntent);我也去了浏览器...它没有工作,你能写出整个Java代码吗? – Roa

+0

您确定您已安装官方Vimeo客户端并已打开/使用过吗?它只是好像它还没有注册它的URL处理程序。 –

+0

是的,我是..... – Roa

1

实际上,我们最近做了一个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

相关问题