android - 如何使用 Intent 在 Facebook 上分享文本和图像

标签 android facebook android-intent android-facebook

如何在 Facebook 上共享文本和图像,我正在编写一个教会应用程序,我希望允许用户在其中共享文本和图像以及 URL。

我可以分享在线应用程序链接,但无法分享文字和图片,这是我遗漏的地方吗?

我的代码是这样的:

Button btnFbSharing = (Button) findViewById(R.id.fbSharing);
        btnFbSharing.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub

                 Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
                 shareIntent.setType("text/plain");
                 shareIntent.putExtra(android.content.Intent.EXTRA_TITLE, "Church Application");
                 shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, "https://play.google.com/store/apps/details?id=com.facebook.katana");
                 shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "A new world begin");

                 shareIntent.putExtra(android.content.Intent.EXTRA_STREAM, R.drawable.ic_launcher);
                 PackageManager pm = getApplicationContext().getPackageManager();
                 List<ResolveInfo> activityList = pm.queryIntentActivities(shareIntent, 0);
                 for (final ResolveInfo app : activityList) {
                    if ((app.activityInfo.name).contains("facebook")) {
                        final ActivityInfo activity = app.activityInfo;
                        final ComponentName name = new ComponentName(
                                    activity.applicationInfo.packageName,
                                    activity.name);
                        shareIntent.addCategory(Intent.CATEGORY_LAUNCHER);
                        shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
                                            | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
                        shareIntent.setComponent(name);
                        startActivity(shareIntent);
                       }
                 }                  
            }
        });

最佳答案

嘿,当我问同样的问题时,我对此做了很多研究 question

基本上,使用包名称“com.facebook.katana”的 facebook 应用程序是不可能的,因为当图像存在时它会忽略额外的文本,请参阅实际的 bug但是当图像不存在时可以有链接。我知道这很烦人。

经过大量查看后,我使用允许图像和文本的 facebook sdk 3.14.1 创建了自己的 Activity ,这里是 github link。到演示项目试一试,让我们知道它是否对您有帮助。

关于android - 如何使用 Intent 在 Facebook 上分享文本和图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23541823/

相关文章:

php - 如何检查用户/应用程序是否可以在目标组墙上发帖?

php - 如何增加 facebook php web-driver 中的 curl 超时

android - com.android.volley.ServerError 错误 instanceof VolleyError

javascript - 人行横道比cocoonjs快

android - 如何将按钮锚定在android中相对布局的底部

ios8-Facebook sdk-如何使用 UIWebView 打开应用程序请求 url

android - 如何检查设备在 Android Oreo API 26 及更高版本上的存储空间是否不足

代码中的 Android 显式 Intent

java - 开关中有两个完全相同的 startactivity(),只有一个有效

java - 在Eclipse ADT中创建android项目后,出现大量错误