在Facebook上分享图片+ AppLink Android

时间:2014-07-26 12:52:41

标签: android facebook image hyperlink share

我有一个应用程序,使用户可以在Facebook上分享图像;我希望自动将应用程序的链接与图像共享。

这是我正在使用的代码,但带有链接的部分只是被忽略而且没有出现:

Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
shareIntent.setType("image/png");
shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(imagePath)));
shareIntent.putExtra(Intent.EXTRA_TEXT, "http://www.google.com"); //doesn't appear
PackageManager pm = context.getPackageManager();
List<ResolveInfo> activityList = pm.queryIntentActivities(shareIntent, 0);
for (final ResolveInfo app : activityList)
{

    Log.d("CitationsManager-ShareOnFb", app.activityInfo.name);
    if ((app.activityInfo.name).contains("facebook.katana")
        || (app.activityInfo.name).contains("facebook.composer.shareintent")
        || (app.activityInfo.name).contains("facebook.composer.activity"))
    {
        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
            | Intent.FLAG_ACTIVITY_CLEAR_TOP);
        shareIntent.setComponent(name);
        context.startActivity(shareIntent);
        break;
    }

你知道我怎么能得到结果吗?我已经阅读了有关该主题的问题,但找不到合适的解决方案。

由于

1 个答案:

答案 0 :(得分:2)

Facebook提供shareDialog类来分享Facebook上的图像或内容。您可以阅读更多详细信息,请查看here

     shareDialog = new ShareDialog(this);  // initialize facebook shareDialog.
    button.setOnClickListener(new View.OnClickListener() {
    @Override
   public void onClick(View v) {
   if (ShareDialog.canShow(ShareLinkContent.class)) {
         ShareLinkContent linkContent = new ShareLinkContent.Builder()
             .setContentTitle("Android Facebook Integration and Login Tutorial")
             .setImageUrl(Uri.parse("https://www.studytutorial.in/
                   wp-content/uploads/2017/02/FacebookLoginButton-min-300x136.png"))
             .setContentDescription(
                     "This tutorial explains how to integrate Facebook and Login 
                     through Android Application")
             .setContentUrl(Uri.parse("https://www.studytutorial.in/
                         android-facebook-integration-and-login-tutorial"))
             .build();
                shareDialog.show(linkContent);  // Show facebook ShareDialog
       }
    }
});