0

次のコードを使用して、アプリから SMS を送信しています。

void App::sendSms(const QString &messageText, const QStringList &phoneNumbers) {
bb::pim::account::AccountService accountService;
bb::pim::message::MessageService messageService;

QList<Account> accountListy = accountService.accounts(bb::pim::account::Service::Messages,"sms-mms");

bb::pim::account::AccountKey smsAccountId = 0;
if(!accountListy.isEmpty()) {
    smsAccountId = accountListy.first().id();
    qDebug() << "SMS-MMS account ID:" << smsAccountId;
}
else {
    qWarning() << "Could not find SMS account";
    return;
}



QList<bb::pim::message::MessageContact> participants;
foreach(const QString &phoneNumber, phoneNumbers) {
    bb::pim::message::MessageContact recipient = bb::pim::message::MessageContact(
        -1, bb::pim::message::MessageContact::To,
        phoneNumber, phoneNumber);
    participants.append(recipient);
}

bb::pim::message::ConversationBuilder *conversationBuilder =
    bb::pim::message::ConversationBuilder::create();
conversationBuilder->accountId(smsAccountId);
conversationBuilder->participants(participants);

bb::pim::message::Conversation conversation = *conversationBuilder;
bb::pim::message::ConversationKey conversationId = messageService.save(smsAccountId, conversation);

bb::pim::message::MessageBuilder *builder =
    bb::pim::message::MessageBuilder::create(smsAccountId);
builder->conversationId(conversationId);

builder->addAttachment(bb::pim::message::Attachment("text/plain", "", messageText.toUtf8()));

foreach(const bb::pim::message::MessageContact recipient, participants) {
    builder->addRecipient(recipient);
}

bb::pim::message::Message message = *builder;

messageService.send(smsAccountId, message);

delete builder;
delete conversationBuilder;

}

ただし、新しい SMS を送信するたびに、テキスト メッセージ UI に新しいスレッドが作成されます。送信先の番号に対して既に存在するスレッドに新しいメッセージを追加する方法があるかどうか疑問に思っていましたか?

ありがとう!

4

1 に答える 1