Facebook与facebook sdk分享应用程序中的文本

时间:2015-05-16 08:42:04

标签: android android-facebook

我正在我的应用中实现共享。它只需要文本共享。所有应用程序与意图共享文本工作正常,但Facebook不允许通过意图共享文本。所以我实现了它的sdk并写下了这段代码。

ShareContent linkContent = new ShareLinkContent.Builder()
                                    .setContentTitle("Hello Facebook")
                                    .setContentDescription(localThoughtDesc.get(finalI1))
                                    .setContentUrl(Uri.parse("https://www.google.com"))
                                    .build();

                            shareDialog.show(linkContent);

但是我得到了像这样的输出

enter image description here

我经历了很多教程。但他们中的大多数都被弃用了。所以,如果有人能帮助我,那将是非常好的。:)

谢谢:)

2 个答案:

答案 0 :(得分:1)

Facebook分享不支持文字。您只能分享链接,并且会在该页面显示<meta content ="...">文字以及您在Facebook上的链接。

答案 1 :(得分:0)

由于我没有办法在Facebook上发布任何内容,所以我尝试了另一种方式将文字发布到Facebook。认为它可能有帮助。顺便说一下,它实际上并没有共享文本。我将文本转换为图像文件,而不是通过意图发布图像。 我是怎么做到的。

                 TextView textView=new TextView(getBaseContext());
                textView.setTag("textView");
                View view=innerLayout.findViewWithTag("textView");


                String SCREENSHOTS_LOCATIONS = Environment.getExternalStorageDirectory().toString() + "/screenshots/";
                Bitmap bitmap = Bitmap.createBitmap(view.getWidth(),view.getHeight(), Bitmap.Config.ARGB_4444);
                String path=SCREENSHOTS_LOCATIONS+ System.currentTimeMillis() + ".jpg";

                final Canvas canvas = new Canvas(bitmap);

                view.draw(canvas);
                System.out.println(bitmap.getHeight()+" "+bitmap.getWidth());
                FileOutputStream fos = null;
                try {
                    final File sddir = new File(SCREENSHOTS_LOCATIONS);
                    if (!sddir.exists()) {
                        sddir.mkdirs();
                    }

                    fos = new FileOutputStream(path);
                    System.out.println(sddir.getPath().toString());
                    if (fos != null) {
                        if (!bitmap.compress(Bitmap.CompressFormat.JPEG, 90, fos)) {
                            Log.d("abc", "Compress/Write failed");
                        }
                        fos.flush();
                        fos.close();
                    }

                } catch (FileNotFoundException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                Intent intent=new Intent();
                intent.setAction(Intent.ACTION_SEND);
                intent.putExtra(Intent.EXTRA_TITLE, "Title");
                intent.putExtra(Intent.EXTRA_SUBJECT, "Extra Subject");
                intent.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(new File(path))); //optional//use this when you want to send an image
                intent.setType("image/jpeg");
                intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
                startActivityForResult(Intent.createChooser(intent, "send"), REQUEST_CODE);