【问题标题】:Share video from sd card to twitter in android在 android 中将视频从 sd 卡分享到 twitter
【发布时间】:2017-12-23 05:50:49
【问题描述】:

我必须从我的 Android 应用程序将视频上​​传到 Twitter(发布带有视频的推文)。我使用 twitter4j 上传图片,效果很好。这是我上传图片的代码。我想将视频从 sd 卡上传到 Twitter。如果有人知道解决方案,请帮助我。

       String status ="Check out this Tweak "+shareUrl;
        try {
            ConfigurationBuilder builder = new ConfigurationBuilder();
            builder.setOAuthConsumerKey(consumerKey);
            builder.setOAuthConsumerSecret(consumerSecret);

            // Access Token
            String access_token = prefs.getString(PREF_KEY_OAUTH_TOKEN, "");
            // Access Token Secret
            String access_token_secret = prefs.getString(PREF_KEY_OAUTH_SECRET, "");



            twitter4j.auth.AccessToken token = new twitter4j.auth.AccessToken(access_token,
                    access_token_secret);


            twitter4j.auth.AccessToken accessToken = new twitter4j.auth.AccessToken(access_token,
                    access_token_secret);
            Twitter twitter = new TwitterFactory(builder.build()).getInstance(accessToken);

            // Update status
            StatusUpdate statusUpdate = new StatusUpdate(status);
            InputStream is = null;
            try {
                is = new URL(ShowDialogforMore.twittImage).openStream();
            }
            catch (MalformedURLException e )
            {
                e.printStackTrace();
            }
            catch(IOException e)
            {
                e.printStackTrace();
            }

            statusUpdate.setMedia("test.jpg",is);

            twitter4j.Status response = twitter.updateStatus(statusUpdate);

【问题讨论】:

标签: android post video twitter share


【解决方案1】:

我的问题得到了解决方案。这是我的代码。现在可以在 Twitter 上分享视频了。

try {
                Intent tweetIntent = new Intent(Intent.ACTION_SEND);
                String path = Environment.getExternalStorageDirectory()
                        + File.separator + "Video" + File.separator + "Sample_nw.mp4";


                File f = new File(path);
                // String filename = "twitter_image.jpg";
                //  File imageFile = new File(getExternalStorageDirectory(), filename);
                String tweetUrl ="Tweak Video";

                // tweetIntent.putExtra(Intent., "good afternoon all");
                tweetIntent.putExtra(Intent.EXTRA_TEXT, tweetUrl);
                tweetIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(f));
                tweetIntent.setType("video/*");


                PackageManager pm = activity.getApplicationContext().getPackageManager();
                List<ResolveInfo> lract = pm.queryIntentActivities(tweetIntent, PackageManager.MATCH_DEFAULT_ONLY);
                boolean resolved = false;
                for (ResolveInfo ri : lract) {
                    if (ri.activityInfo.name.contains("twitter")) {


                        tweetIntent.setClassName(ri.activityInfo.packageName,
                                ri.activityInfo.name);
                        resolved = true;
                        break;
                    }
                }

                activity.startActivityForResult(resolved ?
                        tweetIntent :
                        Intent.createChooser(tweetIntent, "Choose one"), 110);

            } catch (final ActivityNotFoundException e) {
            }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-03
    • 1970-01-01
    • 2016-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-08
    相关资源
    最近更新 更多