Я запрограммировал приложение, которое может отправить сообщение в твиттер с прикрепленным изображением. Оно работает! Я тестировал его на нескольких устройствах и просил других людей сделать то же самое. Он даже работает для прямого сообщения, когда выбран твиттер. Однако это не работает, когда выбрано «Прямое сообщение». Это заставляет пользователя выбирать друга напрямую, а не выбирать его через «Прямое сообщение» (что действительно странно), в противном случае изображение не прилагается. Просто взгляните на скриншот:Как я могу прикрепить изображение к «Прямому сообщению» в twitter Android?
Вот мой код программирования Xamarin Android. Дайте мне знать, как это исправить. В настоящее время все варианты работают, даже выбрав моего друга , но не «Прямое сообщение». Мне также нужно сказать, что у меня нет никаких проблем с текстом twitter, который я ожидаю увидеть в твиттере.
public bool TweetImage(Bitmap imageToTweet)
{
var messageIntent = context.FindMessageIntent(this.twitterConstants.PackageName);
if (messageIntent == null)
{
return false;
}
string outputFileBMP = SaveBitmap(imageToTweet);
context.Tweet(messageIntent, outputFileBMP, this.twitterConstants.DefaultTwitterText, this.twitterConstants.ChooserMessage);
return true;
}
и
public static Intent FindMessageIntent(this ContextWrapper contextWrapper, params string[] packageNames)
{
Intent wantedIntent = new Intent();
wantedIntent.SetType("text/plain");
var resolveInfos = contextWrapper.PackageManager.QueryIntentActivities(wantedIntent, PackageInfoFlags.MatchDefaultOnly);
var result = (from r in resolveInfos
from p in packageNames
where p == r.ActivityInfo.PackageName
select p).FirstOrDefault();
if (result != null)
{
wantedIntent.SetPackage(result);
return wantedIntent;
}
return null;
}
и
public static void Tweet(this ContextWrapper contextWrapper, Intent messageIntent, string filePath = null, string message = null, string chooserMessage = null)
{
if (filePath != null)
{
using (var file = new Java.IO.File(filePath))
{
messageIntent.PutExtra(Intent.ExtraStream, Android.Net.Uri.FromFile(file));
}
}
if (message != null)
{
messageIntent.PutExtra(Intent.ExtraText, message);
}
if (chooserMessage != null)
{
using (var chooser = Intent.CreateChooser(messageIntent, chooserMessage))
{
contextWrapper.StartActivity(chooser);
}
return;
}
contextWrapper.StartActivity(messageIntent);
}
Пожалуйста, обратите внимание, что я использую Android и нужно решение, основанное на Android (на основе намерения).
Возможный дубликат [Как отправить изображение в прямом сообщении?] (Http://stackoverflow.com/questions/37345016/how-to-send-an-image-in-direct-message) –