问题
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