如何阅读deliveryIntent
此代码?
uses
Androidapi.JNI.JavaTypes, Androidapi.JNI.Telephony;
procedure TForm1.Button1Click(Sender: TObject);
var
smsTo: JString;
smsManager: JSmsManager;
begin
smsManager := TJSmsManager.JavaClass.getDefault;
smsTo := StringToJString(ENum.text);
PendIntent1:=TJPendingIntent.JavaClass.getBroadcast();
PendIntent2:=TJPendingIntent.JavaClass.getBroadcast();
smsManager.sendTextMessage(smsTo, nil, StringToJString(MSms.lines.text),PendIntent1,PendIntent2);
end;
因为我知道短信消失了吗?
谢谢
如果阅读了SmsManager.sendTextMessage()
文档,则应该提供包装在对象(在Delphi中)中的自己的Intent
对象(JIntent
在Delphi中)。PendingIntent
JPendingIntent
所以,你会创建两个Intent
具有分配给他们所需的操作字符串对象,然后里面的两个包装他们PendingIntent
使用的对象PendingIntent.getBroadcast()
(方法TJPendingIntent.JavaClass.getBroadcast()
在Delphi),然后这些信息传递给sendTextMessage()
在sentIntent
和deliveryIntent
参数,分别。
SMS发送/失败后,将广播参数Intent
内部sentIntent
。如果SMS成功发送给收件人,则将广播Intent
该deliveryIntent
参数的内部。
要处理这些Intent
对象,您需要broadcastReceiver
在应用中创建并注册一个。当您收到广播的时Intent
,可以检索其action
值(请参见Intent.getAction()
方法)并采取相应的措施。
String
除非您要在DelphiString
和Android之间进行转换,否则不涉及任何转换JString
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句