如何发送短信用Delphi XE5 Android中 [英] How to send SMS with Delphi XE5 in Android

查看:198
本文介绍了如何发送短信用Delphi XE5 Android中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有谁知道如何得到这个工作? 我得到的最接近是code以下,但没有得到成功。 首先,它给你一些希望时,它会告诉你需要的 SEND_SMS 许可。但是,在安装此权限后,没有任何反应!

 用途
 Androidapi.JNI.JavaTypes;

程序TForm1.Button1Click(发件人:TObject的);
变种
  SmsManager的:JSmsManager;
  smsTo,smsFrom:的jstring;
开始
  SmsManager的:= TJSmsManager.JavaClass.getDefault;
  smsTo:= StringToJString('552199999999'); //替换正确的目的地号码
  smsFrom:= StringToJString('552499999999'); //替换正确的发起者号码
  smsManager.sendTextMessage(smsTo,smsFrom,StringToJString(Edit1.Text),无,无);
结束;
 

解决方案

试图通过空值()的 scAddress 的参数<一href="http://developer.android.com/reference/android/telephony/gsm/SmsManager.html#sendTextMessage%28java.lang.String,%20java.lang.String,%20java.lang.String,%20android.app.PendingIntent,%20android.app.PendingIntent%29"><$c$c>sendTextMessage函数调用使用当前默认的短信中心:

 用途
  Androidapi.JNI.JavaTypes,Androidapi.JNI.Telephony;

程序TForm1.Button1Click(发件人:TObject的);
变种
  smsTo:的jstring;
  SmsManager的:JSmsManager;
开始
  SmsManager的:= TJSmsManager.JavaClass.getDefault;
  smsTo:= StringToJString('091 ......');
  smsManager.sendTextMessage(smsTo,零,StringToJString(测试SMS),无,无);
结束;
 

Does anybody know how to get this to work? The closest I got was the code below, but got no success. At first, it gives you some hope when it tells you need the SEND_SMS permission. But after you setup this permission, nothing happens!

uses
 Androidapi.JNI.JavaTypes;

procedure TForm1.Button1Click(Sender: TObject);
var
  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;

解决方案

Try to pass empty value (nil) to the scAddress parameter of the sendTextMessage function call to use the current default SMS center:

uses
  Androidapi.JNI.JavaTypes, Androidapi.JNI.Telephony;

procedure TForm1.Button1Click(Sender: TObject);
var
  smsTo: JString;
  smsManager: JSmsManager;
begin
  smsManager := TJSmsManager.JavaClass.getDefault;
  smsTo := StringToJString('091...');
  smsManager.sendTextMessage(smsTo, nil, StringToJString('Test SMS'), nil, nil);
end;

这篇关于如何发送短信用Delphi XE5 Android中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆