0

次のコードは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);

}

誰もが理由を知っていますか?どうすれば修正できますか?

4

1 に答える 1

1

私は実験していましたが、「差出人」フィールド (のコピーSmsDevice.AccountPhoneNumber) に入力する必要があることがわかりました。

そうは言っても、いわゆる「一般的なエラー」がまだ発生しますが、少なくとも「パラメーターエラー」ではありません。

興味があれば、私の一般的なエラーは 0x80548212 です。

また、すでにこれを行っていると思います(または、null SMSデバイスを取得すると思います)が、マニフェストでテキストメッセージングを実行できるようにアプリを作成する必要があります。

詳細情報 - その一般的なエラーは、SIM がデータ専用に有効になっていることでした。SMS を含む SIM に交換すると、コードは正常に機能しました。

于 2012-05-24T15:07:45.247 に答える