ユーザーがクリックすると、件名、メールアドレスが既に入力されているデフォルトのメールアプリが起動するはずです。私はAndroidアプリでこれを行っていますが、それを1から呼び出す方法はありますか?Androidのメールアドレスintent from Unity script
これ以外のフィードバック方法はありますか?
ユーザーがクリックすると、件名、メールアドレスが既に入力されているデフォルトのメールアプリが起動するはずです。私はAndroidアプリでこれを行っていますが、それを1から呼び出す方法はありますか?Androidのメールアドレスintent from Unity script
これ以外のフィードバック方法はありますか?
ボタンをあなたが呼び出す必要がありますクリックしてください:
public void OpenActivity()
{
var androidJC = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
var jo = androidJC.GetStatic<AndroidJavaObject>("currentActivity");
// Accessing the class to call a static method on it
var jc = new AndroidJavaClass("com.xyz.abc.StartActivity");
// Calling a Call method to which the current activity is passed
jc.CallStatic("Call", jo);
}
}
あなたの活動とパッケージ名で
するvar JC =新AndroidJavaClass( "com.xyz.abc.StartActivity")を交換してください。
あなたがやっていることは、プラグインです。これにはプラグインは必要ありません。
あなたは、単にに電子メールを送信することができます。これは、PC、AndroidとiOS上で動作します
sendEmail("[email protected]", "Test", "This is a text\r\nAnother test\r\nAnd another text");
:呼び出し、送信するには
void sendEmail(string toEmail, string emailSubject, string emailBody)
{
emailSubject = System.Uri.EscapeUriString(emailSubject);
emailBody = System.Uri.EscapeUriString(emailSubject);
Application.OpenURL("mailto:" + toEmail + "?subject=" + emailSubject + "&body=" + emailBody);
}
。私はMacについて知らない。
まだAndroid APIを使用したい場合は、まだプラグインを作成する必要はありません。 AndroidJavaObject
を使用し、Android APIでメールコードを書くことができます。
private static void SendMail(string subject, string body, bool useHTML)
{
using (var intentClass = new AndroidJavaClass("android.content.Intent"))
{
// intent = new Intent(Intent.ACTION_SEND);
using (var intentObject = new AndroidJavaObject("android.content.Intent", intentClass.GetStatic<string>("ACTION_SEND")))
{
// Setting text type
if (useHTML)
// intent.setType("text/html");
intentObject.Call<AndroidJavaObject>("setType", "text/html");
else
// intent.setType("message/rfc822");
intentObject.Call<AndroidJavaObject>("setType", "message/rfc822");
// intent.putExtra(Intent.EXTRA_SUBJECT, emailSubject);
intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_SUBJECT"), subject);
// Setting emailBody
if (useHTML)
{
// intent.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(emailBody));
using (var html = new AndroidJavaClass("android.text.Html"))
{
var htmlBody = html.CallStatic<AndroidJavaObject>("fromHtml", body);
intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_TEXT"), htmlBody);
}
}
else
{
intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_TEXT"), body);
}
using (var unity = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
{
using (var currentActivity = unity.GetStatic<AndroidJavaObject>("currentActivity"))
{
currentActivity.Call("startActivity", intentObject);
}
}
}
}
}
そしてそれをSendMail("test", "Message", false);
と呼びます。それを改善し、それに多くの機能を追加することができます。この最後の例はhereから解除されました。
私はメールの本文を入力するために顧客が必要です。残りのすべてには事前入力があります。 –
@ Chandu-Indyaah私の答えの最初の機能はそれを行います。あなたは 'InputField'から本文を取得し、それをsendEmail関数に渡します。その後、電子メールを送信して、自分自身をこの機能に入れます。ここでは何が難しいですか?私はこれをどのように使用するかの例を示しました。 – Programmer