发送Intent以在android中使用默认邮件应用程序

时间:2013-10-13 00:20:09

标签: android delphi delphi-xe5

Delphi XE5(Android App)。

做一个小应用,只是想得到一些反馈。

如何发送使用简单TEdit for Subject的意图,  和Tmemo for Message并将其发送到最终用户电话上的默认邮件客户端。 感谢。

1 个答案:

答案 0 :(得分:1)

这样的事情应该有助于这个过程。传递UI控件中的值。

uses
  FMX.Helpers.Android,
  Androidapi.JNIBridge,
  Androidapi.JNI.JavaTypes,
  Androidapi.JNI.GraphicsContentViewText;
...
procedure CreateEmail(const Recipient, Subject, Content: string);
var
  Intent: JIntent;
  Recipients: TJavaObjectArray<JString>;
begin
  Intent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_SEND);
  Recipients := TJavaObjectArray<JString>.Create(1);
  Recipients.Items[0] := StringToJString(Recipient);
  Intent.putExtra(TJIntent.JavaClass.EXTRA_EMAIL, Recipients);
  Intent.putExtra(TJIntent.JavaClass.EXTRA_SUBJECT, StringToJString(Subject));
  Intent.putExtra(TJIntent.JavaClass.EXTRA_TEXT, StringToJString(Content));
  //Intent.setType(StringToJString('plain/text'));
  Intent.setType(StringToJString('message/rfc822'));
  //SharedActivity.startActivity(Intent);
  SharedActivity.startActivity(TJIntent.JavaClass.createChooser(Intent,
    StrToJCharSequence('Which email app?')));
end;