Ich programmierte eine App, die eine Nachricht an Twitter mit einem angehängten Bild senden kann. Es klappt! Ich habe es auf mehreren Geräten getestet und andere Leute gebeten, das Gleiche zu tun. Es funktioniert sogar für eine direkte Nachricht, wenn ein Twitter-Freund ausgewählt ist. Es funktioniert jedoch nicht, wenn "Direktnachricht" ausgewählt ist. Dies zwingt den Benutzer, einen Freund direkt auszuwählen, anstatt ihn über "Direktnachricht" auszuwählen (was wirklich seltsam ist), ansonsten ist das Bild nicht angehängt. Werfen Sie einen Blick auf den Screenshot:Wie kann ich ein Bild an eine "Direct Message" in Twitter Android anhängen?
Hier ist meine Xamarin Android Programmiercode. Lass mich wissen, wie ich es beheben kann. Derzeit funktionieren alle Optionen, sogar die Auswahl meines Freundes , aber nicht "Direct Message". Ich muss auch sagen, dass ich kein Problem mit dem Twitter-Text habe, den ich im Tweet erwarten würde.
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;
}
und
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;
}
und
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);
}
Bitte beachten Sie, dass ich bin mit Android und eine Lösung auf Android (Intent-basiert) auf Basis benötigen.
Mögliches Duplikat von [Wie ein Bild in direkter Nachricht schicken?] (Http://stackoverflow.com/questions/37345016/how-to-send-an-image-in-direct-message) –