如何在 android 本机页面中显示 Twitter 视频

Posted

技术标签:

【中文标题】如何在 android 本机页面中显示 Twitter 视频【英文标题】:How to show Twitter videos in android native page 【发布时间】:2016-03-01 10:23:44 【问题描述】:

我在我的native 页面中显示html contents。我正在展示Tweets,使用TweeetUi。但是,TweeetUi 不显示twitter videos。我还检查了我们收到的回复。作为回应,我找不到video url。在谷歌搜索之后,我发现嵌入式视频支持仅适用于网站。是否有任何解决方法可以在原生页面中显示视频,如 tweets 或获取 video url,以便可以使用 custom UI 显示视频。

谢谢

【问题讨论】:

用户 TwiteCore 用于显示 tweet 视频 @DhruvRaval,我正在使用 TwitterKit,根据 Twiiter 开发者网站,(docs.fabric.io/android/twitter/show-tweets.html) 只显示推文。如何显示推特视频。有教程吗? 不,没有教程,但我给出了获取 twitter 视频的过程(代码),该过程基于某些条件,与包含图像或视频的提要完全不同... 【参考方案1】:
TwitterCore.getInstance().getApiClient().getStatusesService().userTimeline(null, twitterKeyword, 10, null, maxId, null, null, null, false, new Callback<List<Tweet>>() 

            @Override
            public void success(Result<List<Tweet>> result) 

                final List<Tweet> tweets = result.data;

                if(!tweets.isEmpty()) 

                        for (int i = 0; i < tweets.size(); i++) 

                        Tweet t = tweets.get(i);

                        Long idStr = Long.parseLong(t.idStr);
                        String text = t.text;
                        String createdAt = t.createdAt;
                        String favoriteCount = "" + t.favoriteCount;
                        String favorited = "" + t.favorited;
                        String retweetCount = "" + t.retweetCount;
                        String retweeted = "" + t.retweeted;
                        String retweetedStatus = "" + t.retweetedStatus;
                        String name = t.user.name;
                        String profileImageUrl = t.user.profileImageUrl;

                        String mediaImageUrl = null, videoUrl = null;

                        if (t.entities.media != null) 
                            String type = t.entities.media.get(0).type;

                            if (type.equals("photo")) 
                                if(t.entities.media.size() > 0) 
                                    if (t.entities.media.get(0).expandedUrl != null) 
                                        if ((t.entities.media.get(0).expandedUrl).contains("video")) 
                                            videoUrl = t.entities.media.get(0).expandedUrl;
                                            mediaImageUrl = t.entities.media.get(0).mediaUrl;
                                        
                                        else 
                                            mediaImageUrl = t.entities.media.get(0).mediaUrl;
                                        
                                    
                                
                                else 
                                    mediaImageUrl = "'";
                                    videoUrl = "";
                                
                            
                            else 
                                mediaImageUrl = "'";
                            
                        
                        else 
                            if(t.entities.urls.size() > 0) 

                                if(t.entities.urls.get(0).url != null) 
                                    if(text.contains(t.entities.urls.get(0).url)) 
                                        videoUrl = "";
                                        mediaImageUrl="";
                                    
                                
                                else 
                                    if (t.entities.urls.get(0).expandedUrl != null) 
                                        videoUrl = t.entities.urls.get(0).expandedUrl;
                                    
                                    else 
                                        videoUrl = "";
                                    
                                
                            
                            else 
                                videoUrl = "";
                                mediaImageUrl="";
                            
                        

                        System.out.println("mediaImageUrl" + mediaImageUrl);
                        System.out.println("videoUrl" + videoUrl);              
                

            @Override
            public void failure(TwitterException e) 
                System.out.println("failure"+ e);
                e.printStackTrace();
            
        );

这里,TwitterCore --> com.twitter.sdk.android.core.TwitterCore

【讨论】:

这需要一个会话..用户需要登录。我需要显示推文视频,无需登录,如推文 哦.. 是的,这些需要登录 twitter,但我知道这些方式只是为了获取 twitter 视频......!!

以上是关于如何在 android 本机页面中显示 Twitter 视频的主要内容,如果未能解决你的问题,请参考以下文章

android 开发怎么获得本机号码

当新页面被推入颤动时如何隐藏本机Tabbar?

android怎么查看本机号码

如何在 Android 上使用 Xamarin WebView 下载本机浏览器等文件?

反应本机选择器未在android上显示

在 React 本机键盘仅在 IOS 的模态上显示,在 android 中工作正常