2013-10-13 2 views
0

Delphi XE5 (Android App).android에서 기본 메일 앱을 사용하기위한 의도 보내기

작은 응용 프로그램을 만들고 그냥 의견을 원합니다.

Subject에 간단한 TEdit, 및 Tmemo for Message를 사용하고 최종 사용자 전화로 기본 메일 클라이언트로 보낼 의도를 어떻게 보낼 수 있습니까? 감사합니다. .

+1

공유 시트가이를 수행 할 수 있다고 생각합니다. – grant1842

+4

어떤 부분에 문제가 있습니까? 의도 불러 내기? 어느 의도를 사용할 지 식별? 그 중 하나의 일부 델파이 특정 측면? [편집] 질문을 좀 더 구체적으로 만드십시오. –

+0

의견을 보내 주셔서 감사합니다. 텍스트를 첨부 할 공유 시트를보고 있습니다. 나는 우리가 그것을하기 위해 의도를 감싸 야한다고 생각했지만 공유지는 유망 해 보인다. – grant1842

답변

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; 
관련 문제