0

按照这个简单的代码:

String tweetUrl = "https://twitter.com/intent/tweet?text=PUT TEXT HERE &url="+"https://www.google.com";
Uri uri = Uri.parse(tweetUrl);
startActivity(new Intent(Intent.ACTION_VIEW, uri));

也可以与那些文本和图像共享吗?不使用twitter4j库。

谢谢!

4

2 回答 2

2

Try this it is worked for me. I will use it for share my product details. i will get details of product like name,image,description from the server and display in app and then share it to twitter.

Get image url from server.

URL url = ConvertToUrl(imgURL);
        Bitmap imagebitmap = null;
        try {
            imagebitmap = BitmapFactory.decodeStream(url.openConnection()
                    .getInputStream());
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

Post image and text on twitter.

// post on twitter
            Intent intent = new Intent();
            intent.setAction(Intent.ACTION_SEND);
            intent.putExtra(
                    Intent.EXTRA_TEXT,
                    "Check this out, what do you think?"
                            + System.getProperty("line.separator")
                            + sharedescription);
            intent.putExtra(Intent.EXTRA_SUBJECT, sharename);
            intent.setType("image/*");
            intent.putExtra(Intent.EXTRA_STREAM,
                    getImageUri(HomeActivity.this, imagebitmap));
            intent.setPackage("com.twitter.android");
            startActivity(intent);

Convert Uri String to URL

private URL ConvertToUrl(String urlStr) {
    try {
        URL url = new URL(urlStr);
        URI uri = new URI(url.getProtocol(), url.getUserInfo(),
                url.getHost(), url.getPort(), url.getPath(),
                url.getQuery(), url.getRef());
        url = uri.toURL();
        return url;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}

Convert Bitmap to Uri

public Uri getImageUri(Context inContext, Bitmap inImage) {
    ByteArrayOutputStream bytes = new ByteArrayOutputStream();
    inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
    String path = MediaStore.Images.Media.insertImage(
            inContext.getContentResolver(), inImage, "Title", null);
    return Uri.parse(path);
}
于 2015-09-10T08:42:38.077 回答
0
于 2013-01-26T09:21:19.173 回答