如何通过 Android 应用程序的链接重定向到 youtube 应用程序?

Posted

技术标签:

【中文标题】如何通过 Android 应用程序的链接重定向到 youtube 应用程序?【英文标题】:How to redirect to youtube app through link from Android app? 【发布时间】:2020-07-16 22:37:32 【问题描述】:

在我的 UI 中,我有一个 textview 来显示列表内容。我为该文本视图启用了自动链接和应用程序选择器对话框。如果将 youtube 链接作为内容(如 https://youtu.be/x),从应用选择器对话框中选择 youtube 应用后,youtube 应用将打开并显示错误屏幕(错误代码 400)。 我不确定它为什么会发生。我在下面提供了我的代码。

public static void getAppChooserDialog(Context context, String url)
        List<Intent> targetedShareIntents = new ArrayList<>();
        List<String> sharePackages = new ArrayList<>(); 
        List<ResolveInfo> resInfo = context.getPackageManager().queryIntentActivities(createViewIntent(url),0);
        if (!resInfo.isEmpty()) 
            for (ResolveInfo info : resInfo) 
                Intent targetedShare = createViewIntent(url);
                if (!info.activityInfo.packageName.equalsIgnoreCase(context.getPackageName()) &&
                        !sharePackages.contains(info.activityInfo.packageName)) 
                    if (targetedShare != null) 
                        targetedShare.setPackage(info.activityInfo.packageName);
                        sharePackages.add(info.activityInfo.packageName);
                    
                    targetedShareIntents.add(targetedShare);
                
            
            if(!targetedShareIntents.isEmpty()) 
                Intent chooserIntent = Intent.createChooser(targetedShareIntents.remove(0),
                        context.getString(R.string.complete_action_using));
                chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS,
                        targetedShareIntents.toArray(new Parcelable[]));
                context.startActivity(chooserIntent);
            
    

private Intent createViewIntent(String url)
       Intent shareIntent = new Intent(Intent.ACTION_VIEW);
            shareIntent.setData(Uri.parse(url));
            return shareIntent;
    

【问题讨论】:

【参考方案1】:

YouTube 应用不支持使用普通网址的意图(不知道为什么)。 对于网址https://youtu.be/videoId,您需要分享vnd:youtube:videoId

【讨论】:

以上是关于如何通过 Android 应用程序的链接重定向到 youtube 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

302 使用 Dropbox 短超链接在 Android 中从 http 重定向到 https

关联网站未重定向到 Android Instant App

一键——3个应用商店——如何将用户重定向到合适的应用商店?

使用 Android 应用链接作为 OAuth2 重定向 URI

通过 Safari 打开时,Firebase 动态链接不会重定向到应用程序

如何解决android原生应用程序中的意图重定向?