간단한 Xamarin.Android 모바일 앱에 입력 된 사용자 제공 정보에서 이메일을 작성하여 보내려고합니다 (Gmail 앱 사용). Xamarin.Android를 처음 사용하고 온라인에서이 문제에 대한 명확한 지침을 찾을 수 없었습니다.이메일 본문 텍스트 추가 및 Xamarin.Android App의 이메일 전송
아래 코드를 사용하여 텍스트를 수집하고 사용자 제공 전자 메일 주소 및 하드 코딩 된 제목 줄을 사용하는 전자 메일 인 텐트를 만들 수 있습니다. 그러나 전자 메일에 본문 텍스트를 추가하는 코드가 작동하지 않습니다. Gmail 응용 프로그램이 열리고 전자 메일 주소와 제목은 정확하지만 전자 메일 본문은 비어 있습니다.
[Activity(Label = @"HelloWorld-TestMobileApp", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity
{
public int ClickCount { get; set; } = 0;
public string EmailAddress { get; set; }
public string EmailText { get; set; }
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
// Get our buttons from the layout resource,
// and attach a events to them
Button clickIncrementerButton = FindViewById<Button>(Resource.Id.ClickIncrementer);
Button sendEmailButton = FindViewById<Button>(Resource.Id.sendEmailButton);
EditText enterEmailAddressButton = FindViewById<EditText>(Resource.Id.editEmail);
EditText enterEmailTextButton = FindViewById<EditText>(Resource.Id.emailText);
clickIncrementerButton.Click += delegate
{
ClickCount++;
clickIncrementerButton.Text = string.Format("{0} clicks!", ClickCount);
};
enterEmailAddressButton.TextChanged += delegate
{
EmailAddress = enterEmailAddressButton.Text;
};
enterEmailTextButton.TextChanged += delegate
{
EmailText = enterEmailTextButton.Text;
};
sendEmailButton.Click += delegate
{
List<string> emailBody = new List<string>
{
"Hello from Xamarin.Android!\n",
"Number of clicks = " + ClickCount + "\n",
EmailText
};
var email = new Intent(Intent.ActionSend);
email.PutExtra(Intent.ExtraEmail, new string[] {EmailAddress}); // Working 09/24/2016
email.PutExtra(Intent.ExtraSubject, "Hello World Email"); // Working 09/24/2016
email.PutStringArrayListExtra(Intent.ExtraText, emailBody); // NOT Working 09/24/2016
email.SetType("message/rfc822");
try
{
StartActivity(email);
}
catch (Android.Content.ActivityNotFoundException ex)
{
Toast.MakeText(this, "There are no email applications installed.", ToastLength.Short).Show();
}
};
}
는 아무도 내가 미리 포맷하는 방법을 나에게 보여주고 몸 전체의 텍스트 문자열을 하드 코딩없이 이메일 의도에서 전자 메일 본문 텍스트를 포함 할 수 있습니다? (Xamarin.Android 앱에 대한 다른 이메일 전송 비평 및 안내도 환영합니다!)
사용자가 앱에 입력하는 정보를 포함 할 수 있기를 원합니다. 본문 텍스트 (나는 본문 텍스트를 하드 코딩하고 싶지 않다).
감사합니다.
귀하의 제안이 저에게 효과적이었습니다. 메모리 누수를 막기 위해 메서드와 이벤트 핸들러를 사용하는 것에 대한 조언도 감사드립니다. 고맙습니다! – TechAust10