Android 将图片发布到 Facebook 评论 [英] Android post image to Facebook comment

查看:36
本文介绍了Android 将图片发布到 Facebook 评论的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我上一个问题的后续:

解决方案

下面使用:

 IntentsharingIntent = new Intent();字符串 imageUri = "file://" + requestsUri;sharedIntent.SetData(Android.Net.Uri.Parse(imageUri));

This is a followup to my previous question: Xamarin.Forms App return data to calling App

That works perfectly and I can share images to anywhere, except to Facebook comments. When I click the camera on the content box the app can be selected, I can select the image, Set result and Finish are called, and the app closes and it sends data to Facebook, and then however I then get the error : The image could not be uploaded, try again?

I can't find any fundamental differences between posting to a status or a comment, so I'm guessing it's subtle. Any thoughts on how I can change my intent to post properly?

Adding for completeness:

Bitmap b = null;
string url;
if (!string.IsNullOrEmpty(this.saleItems[i].ImageUrl))
{
    url = this.saleItems[i].ImageUrl;
}
else
{
    url = await FileHelper.GetLocalFilePathAsync(this.saleItems[i].Id);
}
//download
using (var webClient = new WebClient())
{
    var imageBytes = webClient.DownloadData(url);
    if (imageBytes != null && imageBytes.Length > 0)
    {
        b = BitmapFactory.DecodeByteArray(imageBytes, 0, imageBytes.Length);
    }
}
//set local path
var tempFilename = "test.png";
var sdCardPath = Android.OS.Environment.ExternalStorageDirectory.AbsolutePath;
var filePath = System.IO.Path.Combine(sdCardPath, tempFilename);
using (var os = new FileStream(filePath, FileMode.Create))
{
    b.Compress(Bitmap.CompressFormat.Png, 100, os);
}
b.Dispose();

var imageUri = Android.Net.Uri.Parse($"file://{sdCardPath}/{tempFilename}");

var sharingIntent = new Intent();
sharingIntent.SetAction(Intent.ActionSend);
sharingIntent.SetType("image/*");
sharingIntent.PutExtra(Intent.ExtraText, "some txt content");
sharingIntent.PutExtra(Intent.ExtraStream, imageUri);
sharingIntent.AddFlags(ActivityFlags.GrantReadUriPermission);

//await SaleItemDataService.Instance.BuySaleItemAsync(this.saleItem);

SetResult(Result.Ok, sharingIntent);
Finish();

解决方案

Use below:

        Intent sharingIntent = new Intent();
        string imageUri = "file://" + requestedUri;
        sharingIntent.SetData(Android.Net.Uri.Parse(imageUri));

这篇关于Android 将图片发布到 Facebook 评论的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆