此代码将我带到浏览器,我有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);
}
});
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 :(得分:1)
使用官方Vimeo应用程序,您可以执行此操作:
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://player.vimeo.com/video/83178705")));
虽然这看起来几乎与您的代码相同,但除了缺少?
之外,在我的Android手机上它运行正常(打开Vimeo应用)。
答案 1 :(得分: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
。
答案 2 :(得分: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();
}