使用音频附件发送消息

时间:2017-12-19 19:32:03

标签: c# ios xamarin message uiactivityviewcontroller

我正在尝试使用UIActivityViewController发送带有消息的mp3文件。以下是我面临的问题。

  1. 从UIActivityViewController中选择短信时,附件和消息会显示在SMS应用程序中。但是当我按下发送按钮时,它从不发送消息。请注意,我有两个文件,一个2MB,持续90秒,另一个是2.8MB 1220sec持续时间。代码适用于第一个(2MB)但不适用于第二个(2.8MB)。我错过了什么吗?

  2. 如果我选择WhatsApp

  3. ,附件永远不会出现在消息中。

    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);
            }
    }
    

    谢谢, 辩护人

1 个答案:

答案 0 :(得分:0)


1.选择短信时
我在你身边测试你的代码,我可以用UIActivityViewController分享3MB的消息应用程序的mp3。请注意,当我们按下发送按钮时,它将返回并且消息将在后台发送。正如您所说,您的第一个文件可以成功发送,请检查您的第二个文件是否存在问题? 对于 2.如果我选择WhatsApp
如果我们想要将文件共享给第三方应用,我们应该确保该应用是否支持该文件的类型。此外,不同的应用程序有自己的共享功能在我的测试中,WhatsApp将一次发送一个项目并将首先发送消息。如果你想发送mp3文件,尝试只用一个项目(mp3文件的url)创建列表,然后重新测试。