我正在尝试使用UIActivityViewController发送带有消息的mp3文件。以下是我面临的问题。
从UIActivityViewController中选择短信时,附件和消息会显示在SMS应用程序中。但是当我按下发送按钮时,它从不发送消息。请注意,我有两个文件,一个2MB,持续90秒,另一个是2.8MB 1220sec持续时间。代码适用于第一个(2MB)但不适用于第二个(2.8MB)。我错过了什么吗?
如果我选择WhatsApp
,附件永远不会出现在消息中。
PS。这两个文件都有' buildAction'属性为' BundledResource'。
以下是代码:
void uMessageController::SendTextMessage(string strTextMsg, "en-us", eMessageType.Text)
{
try
{
string strDefaultMsg = "MyTest Message1"
string strDefAttachmentName = "NYC";
if(string.IsNullOrEmpty(strTextMsg))
strTextMsg = strDefaultMsg;
string strTextMsg1 = uShareMessages.GetMessageString (strCulture);
string existingSound = NSBundle.MainBundle.PathForResource (strDefAttachmentName, "mp3");
var remFileUrl = NSUrl.FromFilename(existingSound);
lstMessageItems = new System.Collections.Generic.List<NSObject> { new NSString(strTextMsg1 ?? string.Empty) };
lstMessageItems.Add(remFileUrl);
UIActivityViewController avController = new UIActivityViewController(lstMessageItems.ToArray(), null);
avController.ExcludedActivityTypes = vcActivitiesExcluded;
avController.CompletionWithItemsHandler = ActivityViewController_CompletionHandler;
UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController(avController, true, null);
}
catch(Exception ex)
{
uShareMessages.ShowMessageBox("SendTextMessage", ex.Message);
}
}
谢谢, 辩护人
答案 0 :(得分:0)
1.选择短信时
我在你身边测试你的代码,我可以用UIActivityViewController分享3MB的消息应用程序的mp3。请注意,当我们按下发送按钮时,它将返回并且消息将在后台发送。正如您所说,您的第一个文件可以成功发送,请检查您的第二个文件是否存在问题?
对于 2.如果我选择WhatsApp
如果我们想要将文件共享给第三方应用,我们应该确保该应用是否支持该文件的类型。此外,不同的应用程序有自己的共享功能在我的测试中,WhatsApp将一次发送一个项目并将首先发送消息。如果你想发送mp3文件,尝试只用一个项目(mp3文件的url)创建列表,然后重新测试。