Delphiでお手軽プログラミング

Delphiでお手軽プログラミングメニュー

Delphiを使ってAndroidでメール送信する

~AndroidでIntentを使ってメール送信する



メール送信のAndroid用ソースコード

Button1を押すとメーラー選択画面が開き、メーラを選択すると、送信先・件名・本文が設定されてアクティビティが開きます。
unit Unit1;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
  FMX.Controls.Presentation, FMX.StdCtrls,Androidapi.JNI.GraphicsContentViewText ;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { private 宣言 }
  public
    { public 宣言 }
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

uses
   Androidapi.Helpers       //StrintToJStringを使う為のユニット
  ,Androidapi.JNI.App       //TJActivityを使う為のユニット
  ,Androidapi.JNI.JavaTypes //JStringを使う為のユニット
  ,Androidapi.JNIBridge
  ,FMX.Platform.Android     //MainActivityを使う為のユニット
;

procedure TForm1.Button1Click(Sender: TObject);
var intent:JIntent;
    rcpt: TJavaObjectArray;
begin
  intent:=TJIntent.JavaClass.init(
    TJIntent.JavaClass.ACTION_SEND
  );

  //メール形式設定
  intent.setType(StringToJString('text/plain'));
  
  //メール送信先指定(2つの送信先メールアドレスを指定する場合)
  rcpt:=TJavaObjectArray.Create(2);
  rcpt.Items[0]:=StringToJString('hoge01@hoge.com');
  rcpt.Items[1]:=StringToJString('hoge02@hoge.jp' );
  intent.putExtra(TJIntent.JavaClass.EXTRA_EMAIL, rcpt);
  
  //メールの件名設定
  intent.putExtra(
    TJIntent.JavaClass.EXTRA_SUBJECT,
    StringToJString('メールの件名')
  );
  
  //メールの本文設定
  intent.putExtra(
    TJIntent.JavaClass.EXTRA_TEXT,
    StringToJString('メールの本文'#13#10'メール本文の2行目')
  );

  //メール送信に通常使用するアクティビティを開く場合
  //TAndroidHelper.Activity.startActivity(intent);

  //メール送信するアクティビティを必ず選択させたい場合
  TAndroidHelper.Activity.startActivity(
    TJIntent.JavaClass.createChooser(intent,
    StrToJCharSequence('アプリ選択'))
  );

end;

end.



Copyright 2019 Mam