簡體   English   中英

在Android中使用Fabric SDK進行Twitter分享

[英]Twitter sharing using Fabric SDK in android

我想使用我的應用程序在Twitter上共享圖像和文本。 我使用Fabric SDK,並遵循其官方網站上的准則。 問題是我的圖像未存儲在手機存儲中,並且沒有URL鏈接。 因此,當我傳遞該URL時,它不會像FB共享那樣顯示。

下面,我已經發布了Tried代碼。

private void shareViaTwitt() {
        final String myUrlStr = "http://i.stack.imgur.com/2FCsj.png";
        URL url;
        Uri uri = null;
        try {
            url = new URL(myUrlStr);
            uri = Uri.parse(url.toURI().toString());
        } catch (MalformedURLException e1) {
            e1.printStackTrace();
        } catch (URISyntaxException e) {
            e.printStackTrace();
        }

            TweetComposer.Builder builder = new TweetComposer.Builder(getContext())
                    .text("Hi this is Sample twitter sharing")
                    .image(uri);
            builder.show();
    }

謝謝。

        /*In their official site has said need put file type uri that stored in 
phone/SD storage. So Here I just save it and get that uri and then pass it to 
fabric builder.*/

    private void shareViaTwitt() {
        final String myUrlStr = "http://i.stack.imgur.com/2FCsj.png";

                            TweetComposer.Builder builder = null;
                    try {

                        Bitmap bm = getBitmapFromURL(myUrlStr);
                        Uri uri = getImageUri(getContext(), bm);
                        builder = new TweetComposer.Builder(getContext())
                                .text("Sample Text")
                                .image(uri)
                                .url(new URL(""https://www.newurl.....));
                        builder.show();
                    } catch (MalformedURLException e) {
                        e.printStackTrace();
                    } catch (IOException e) {
                        e.printStackTrace();
                    } catch (NullPointerException e) {
                        e.printStackTrace();
                    }
            }

        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);
            }

            public static Bitmap getBitmapFromURL(String src) {
                try {
                    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
                            .permitAll().build();
                    StrictMode.setThreadPolicy(policy);
                    URL url = new URL(src);
                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                    connection.setDoInput(true);
                    connection.connect();
                    InputStream input = connection.getInputStream();
                    Bitmap myBitmap = BitmapFactory.decodeStream(input);
                    return myBitmap;
                } catch (IOException e) {
                    e.printStackTrace();
                    return null;
                }
            }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM