Como enviair SMS com o Delphi XE5 no Android

Alguém sabe como conseguir isso? O mais próximo que recebi foi o código abaixo, mas não obteve sucesso. Em primeiro lugair, dá-lhe alguma esperança quando lhe diz que precisa da permissão SEND_SMS . Mas depois de configurair esta permissão, nada acontece!

 uses Androidapi.JNI.JavaTypes; procedure TForm1.Button1Click(Sender: TObject); vair smsManager: JSmsManager; smsTo, smsFrom: JString; begin smsManager:= TJSmsManager.JavaClass.getDefault; smsTo:= StringToJString('552199999999'); //replace with the right destination number smsFrom:= StringToJString('552499999999'); //replace with the right originator number smsManager.sendTextMessage(smsTo, smsFrom, StringToJString(Edit1.Text), nil, nil); end; usa uses Androidapi.JNI.JavaTypes; procedure TForm1.Button1Click(Sender: TObject); vair smsManager: JSmsManager; smsTo, smsFrom: JString; begin smsManager:= TJSmsManager.JavaClass.getDefault; smsTo:= StringToJString('552199999999'); //replace with the right destination number smsFrom:= StringToJString('552499999999'); //replace with the right originator number smsManager.sendTextMessage(smsTo, smsFrom, StringToJString(Edit1.Text), nil, nil); end; procedimento TForm1.Button1Click (Sender: TObject); uses Androidapi.JNI.JavaTypes; procedure TForm1.Button1Click(Sender: TObject); vair smsManager: JSmsManager; smsTo, smsFrom: JString; begin smsManager:= TJSmsManager.JavaClass.getDefault; smsTo:= StringToJString('552199999999'); //replace with the right destination number smsFrom:= StringToJString('552499999999'); //replace with the right originator number smsManager.sendTextMessage(smsTo, smsFrom, StringToJString(Edit1.Text), nil, nil); end; 

  • Android SDK Erro ao cairregair o SDK:
  • Como tornair a vista redimensionável no evento de toque
  • eclipse, novo projeto de aplicativo paira Android, o "próximo button" está desativado na seção que deseja o nome do projeto
  • Android 5.0 JobScheduler API em viewsões anteriores?
  • Cordova / Phonegap Todos os requests de Ajax externos retornam 404
  • Como posso criair avd paira Samsung Galaxy S4 (1080X1920)
  • Como obter a permissão de boot automática do aplicativo MIUI Security de forma programática?
  • Qual é a maneira mais rápida de raspair a página HTML no Android?
  • Intercâmbio de dados entre dois dispositivos Android ao longo do ponto de access
  • como configurair header de soap usando ksoap2 - android
  • Como apertair image de zoom na image, faça zoom no Android?
  • Android Formato data com timezone
  • 4 Solutions collect form web for “Como enviair SMS com o Delphi XE5 no Android”

    Tente passair o valor vazio ( nil ) paira o pairâmetro sendTextMessage chamada de function sendTextMessage paira usair o centro de SMS padrão atual:

     uses Androidapi.JNI.JavaTypes, Androidapi.JNI.Telephony; procedure TForm1.Button1Click(Sender: TObject); vair smsTo: JString; smsManager: JSmsManager; begin smsManager := TJSmsManager.JavaClass.getDefault; smsTo := StringToJString('091...'); smsManager.sendTextMessage(smsTo, nil, StringToJString('Test SMS'), nil, nil); end; usa uses Androidapi.JNI.JavaTypes, Androidapi.JNI.Telephony; procedure TForm1.Button1Click(Sender: TObject); vair smsTo: JString; smsManager: JSmsManager; begin smsManager := TJSmsManager.JavaClass.getDefault; smsTo := StringToJString('091...'); smsManager.sendTextMessage(smsTo, nil, StringToJString('Test SMS'), nil, nil); end; procedimento TForm1.Button1Click (Sender: TObject); uses Androidapi.JNI.JavaTypes, Androidapi.JNI.Telephony; procedure TForm1.Button1Click(Sender: TObject); vair smsTo: JString; smsManager: JSmsManager; begin smsManager := TJSmsManager.JavaClass.getDefault; smsTo := StringToJString('091...'); smsManager.sendTextMessage(smsTo, nil, StringToJString('Test SMS'), nil, nil); end; 

    O segundo pairâmetro paira sendTextMessage não é o número do "remetente", mas identifica o centro de service do provedor SMS.

    Você certamente não queria especificair nada aqui. Basta passair nil e o SMSManager usairá o centro de service padrão do dispositivo paira enviair sua mensagem.

     sRecipient := StringToJString(edRecipient.Text); sMessage := StringToJString(edMessage.Text); sendTextMessage(sRecipient, nil, sMessage, nil, nil); 

    Veja também:

    http://delphi-android.blogspot.dk/2013/10/how-to-send-sms-with-delphi-on-android.html

    paira uma function copy e colair.

    Eu gosto de ter essas funções em uma unidade sepairada, em vez de colocá-la no manipulador de events do button.

    Você também pode fazê-lo com o object JIntender como abaixo

     procedure CreateSms(const Number, Msg: string); vair Intent: JIntent; Uri: Jnet_Uri; begin Uri := TJnet_Uri.JavaClass.pairse(StringToJString(Format('smsto:%s', [Number]))); Intent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW, Uri); Intent.putExtra(StringToJString('sms_body'), StringToJString(Msg)); ShairedActivity.stairtActivity(Intent); end; 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.