При поиске в интернете наткнулся на тему отправки смс, но к сожалению не нашел ни одного примера для C++ Builder. Все написано на Делфи. Я попытался переписать инструкцию на C++ и получил такой код:
#include <Androidapi.Helpers.hpp>
#include <Androidapi.JNI.JavaTypes.hpp>
#include <Androidapi.JNI.Telephony.hpp>
#include <Androidapi.JNI.GraphicsContentViewText.hpp>
#include <Androidapi.JNI.App.hpp>
#include <Androidapi.JNI.Net.hpp>
JString* wiadomosc = StringToJString( L"Wiadomość" );
Jnet_Uri* URI;
JString* destAdress;
URI = StrToJURI( "12345678" ); // phone number
_di_JIntent Intent = TJIntent::JavaClass->init( TJIntent::JavaClass->ACTION_VIEW, URI ); //ACTION_VIEW ACTION_SEND
Intent->setType( StringToJString("text/plain") );
//Intent->putExtra( TJIntent::JavaClass->EXTRA_TEXT, wiadomosc ); StringToJString('sms_body')
Intent->putExtra( StringToJString("sms_body"), wiadomosc );
::SharedActivityContext()->startActivity( Intent );
//SharedActivity()->startActivity(Intent);
Программа работает, но не так, как я ожидал. Появляется окно выбора приложения, и, несмотря на то, что постоянные смс установлены по умолчанию, я не могу отправить смс, не набрав номер телефона и текст сообщения, хотя эти данные присутствуют в коде. Подскажите, пожалуйста, как отправить смс без использования программы по умолчанию на Android.
JSmsManager* smsManager; JString* smsTo; // smsManager = JSmsManager::JavaClass->getDefault; smsTo = StringToJString("12345678"); smsManager->sendTextMessage(smsTo, NULL, StringToJString("The message content"), NULL, NULL);
но ошибка: Exception class Segmentation fault (11), rhs->AddRef(); - person Jacek   schedule 07.07.2017_di_JSmsManager smsManager = TJSmsManager::JavaClass->getDefault(); _di_JString smsTo = StringToJString(L"12345678"); smsManager->sendTextMessage(smsTo, nullptr, StringToJString(L"The message content"), nullptr, nullptr);
- person Remy Lebeau   schedule 07.07.2017_di_JString wiadomosc = StringToJString(L"Wiadomość"); _di_Jnet_Uri URI = StrToJUR(L"12345678"); _di_JIntent Intent = TJIntent::JavaClass->init(TJIntent::JavaClass->ACTION_VIEW, URI); Intent->setType(StringToJString(L"text/plain")); Intent->putExtra(StringToJString(L"sms_body"), wiadomosc); SharedActivityContext()->startActivity(Intent);
- person Remy Lebeau   schedule 07.07.2017