Send Intent to use default mail app in android [closed]

那年仲夏 提交于 2019-12-11 19:28:15

问题


Delphi XE5 (Android App).

Doing a small app and just want to get some feedback .

How can I send an intent to use a simple TEdit for Subject, and Tmemo for Message and send it to the default mail client on the end users phone. Thanks.


回答1:


Something like this ought to help the process. Pass in the values from the UI controls.

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;


来源:https://stackoverflow.com/questions/19340542/send-intent-to-use-default-mail-app-in-android

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!