我有一个应用程序,使用户可以在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;
}
你知道我怎么能得到结果吗?我已经阅读了有关该主题的问题,但找不到合适的解决方案。
由于
答案 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
}
}
});