SMStextmesage后台服务异步

时间:2012-04-06 17:56:15

标签: windows-8 microsoft-metro windows-runtime

以下代码适用于CLICK事件处理程序,但我不能让它自动发送

 async void Button_Click_1(object sender, RoutedEventArgs e)
    {
        SmsDevice smsDevice2 = (SmsDevice)await SmsDevice.GetDefaultAsync();

        // Create a text message - Set destination number and message text
        SmsTextMessage msg = new SmsTextMessage();
        msg.To = "12345678";
        msg.Body = "xxxx";

        // Send the message asynchronously
        await smsDevice2.SendMessageAsync(msg);


    }

这不起作用(后台服务)

  async void DisplayToastAsync(IBackgroundTaskInstance taskInstance, ManualResetEvent manualEventWaiter)
    {
        SmsDevice smsDevice2 = (SmsDevice)await SmsDevice.GetDefaultAsync();
        // Create a text message - Set destination number and message text
        SmsTextMessage msg = new SmsTextMessage();
        msg.To = "12345678";
        msg.Body = "xxx";

        // Send the message asynchronously
        await smsDevice2.SendMessageAsync(msg);

}

任何人都知道为什么?我该如何解决?

1 个答案:

答案 0 :(得分:1)

我正在尝试,我发现你确实需要填写“发件人”字段(SmsDevice.AccountPhoneNumber的副本)。

话虽如此,我仍然得到一个所谓的'通用错误',但至少它不是'参数错误'。

如果您有兴趣,我的通用错误是0x80548212。

另外 - 我猜你已经做过这个(或者我认为你会得到一个空的短信设备) - 但你需要让应用程序能够在清单中进行短信。

更多信息 - Generic Error是我的SIM仅支持数据。换掉包含SMS的SIM卡后,代码运行正常。