【问题标题】:How to send SMS programatically in Windows Phone 8.1(C#)如何在 Windows Phone 8.1(C#) 中以编程方式发送 SMS
【发布时间】:2014-12-01 10:27:33
【问题描述】:

我想以编程方式发送短信,因为我正在使用下面的代码,但似乎它在 8.1 中不起作用

   SmsComposeTask SMSCompose = new SmsComposeTask();
   SMSCompose.To = "<Number to which the SMS needs to be sent";
   SMSCompose.Body = "Message that needs to be sent";
   SMSCompose.Show();

还有其他方法可以实现吗?

【问题讨论】:

  • 什么不起作用? SmsComposeTask 的文档表明它适用于 WP 8.1。
  • 什么不起作用?你有任何异常/错误吗?您的目标是 Silverlight 还是 RunTIme?你试过this吗?
  • 我正在开发一个通用应用程序,visual studio dosent 发现了对它的任何引用
  • 我认为这是在 Windows.ApplicationModel.Chat.ChatMessage msg = new Windows.ApplicationModel.Chat.ChatMessage(); msg.Body = "这是演示消息的正文。"; msg.Recipients.Add("10086"); msg.Recipients.Add("10010");等待 Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(msg);

标签: c# sms windows-phone-8.1


【解决方案1】:
    public async static Task SendMessage (string phoneNumber)
    {
        ChatMessage msg = new ChatMessage();
        msg.MessageKind = Windows.ApplicationModel.Chat.ChatMessageKind.Standard;
        msg.Body = "...";
        msg.Recipients.Add(phoneNumber);
        ChatMessageStore cms = await ChatMessageManager.RequestStoreAsync();
        cms.SendMessageAsync(msg);
    }

这应该在 Windows Phone 8.1 上发送消息。您可能需要检查 cms 是否不为空,以防万一...

【讨论】:

  • 当我在运行 Windows 10 的 Lumia 550 上尝试此功能时,我在SendMessageAsync 电话中收到了System.UnauthorizedAccessException。有关如何解决此问题的任何想法?
  • 想通了。该应用需要受限功能cellularMessaging,如docs here 所示。
【解决方案2】:

在创建新线程之前,您应该进行一些搜索。您的问题已经包含在this thread 中。通用应用程序也称为 Windows 运行时,因此如果您想发送消息或事件呼叫或发送电子邮件,请使用 that threat 中的相同解决方案。 您可以使用它来发送消息:

Windows.ApplicationModel.Chat.ChatMessage msg = new Windows.ApplicationModel.Chat.ChatMessage();
msg.Body = "This is body of demo message.";
msg.Recipients.Add("10086");
msg.Recipients.Add("10010");
await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(msg);

享受编码!

P/s:从@Sinaesthetic 更新,这只是撰写消息,它不会发送,用户只需点击发送按钮即可:)

【讨论】:

  • 这只是撰写短信,不发送。
  • @Sinaesthetic 不可能在 Windows 手机上做到这一点。简单,因为操作系统不允许这样做。
  • 我意识到这一点。但是,在我还在弄清楚这一点的时候,在这些帖子中知道会很有用。问题是问如何发送,最好用“你实际上不能发送任何东西,只能撰写”来引导答案,所以我想记下它。我没有投反对票或任何东西:)
  • 请澄清“你不可能在 Windows Phone 上做到这一点”。你的意思是不可能吗?如果不可能,那么其​​他应用程序如何做到这一点?
  • 如果我没记错的话,在那个时候,API 有点严格,请你命名一个应用程序,如果我错了,请指正。谢了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多