در این مطلب در مورد کار با intent ها صحبت کردیم و در این مطلب گفتیم که برای تماس گرفتن به چه شکل از intentهای ضمنی استفاده می کنیم. اما یکی دیگر از استفاده های intentهای ضمنی ارسال ایمیل است. در این مطلب می خواهیم در این مورد صحبت کنیم. این امکان بسیار خوبی است زیرا که وقتی که شما می خواهید یک ایمیل ارسال کنید دیگر نیازی ندارید که خودتان یک کلاس برای ارسال ایمیل درست کنید و فقط با استفاده از اینتنت ها ایمیل مورد نظر را ارسال می کنید.
برای ارسال ایمیل از اکشن ACTION_SEND استفاده می شود. همان طور که در مطلب قبلی گفته شد از این اکشن در ارسال فایل ها نیز استفاده می شود ولی در این بخش ما فقط بر روی ایمیل تمرکز داریم. برای این که مشخص شود که اکشن ACTIONSEND برای ارسال ایمیل است باید مقادیر Data و Type آن را مقداردهی نماییم و سایر بخش های یک ایمیل را نیز در قالب extra به آن پاس دهیم. ما برای ساخت intent از کد زیر استفاه می کنیم.
Intent emailIntent = new Intent(Intent.ACTION_SEND);
برای این که مشخص کنیم که intent مربوط به ایمیل است باید در قسمت data و type آن مقادیر زیر را بنویسیم.
emailIntent.setData(Uri.parse("mailto:")); emailIntent.setType("text/plain");
بعد از این تنظیمات باید مشخصات ایمیل را تعیین کنیم که متن ایمیل چه چیزی باشد به چه کسی ارسال شود و موضوع ایمیل چه چیزی باشد و مقادیری از این قبیل. گفتیم که این بخش ها را با استفاده از ویژگی extra مربوط به intent انجام می دهیم. خوشبختانه اندروید یک سری ثابت های برای این کار در نظر گرفته که در ادامه به این ثابت ها می پردازیم. دقت کنید که این ثابت ها در قسمت key مربوط به extra قرار میگیرند. دوستان دقت داشته باشند که بعد از کلمه EXTRA یک کاراکتر underline قرار دارد
برای مثال از extra های بالا به کد های زیر دقت کنید.
emailIntent.putExtra(Intent.EXTRA_EMAIL , new String[]{"hello@yahoo.com"}); emailIntent.putExtra(Intent.EXTRA_SUBJECT, "subject"); emailIntent.putExtra(Intent.EXTRA_TEXT , "Hello from Itpro website");
در متد زیر شما یک مثال از مطالبی را که گفتیم را به صورت کد می بینید
protected void sendEmail() { Log.i("Send email", ""); String[] TO = {""}; String[] CC = {""}; Intent emailIntent = new Intent(Intent.ACTION_SEND); emailIntent.setData(Uri.parse("mailto:")); emailIntent.setType("text/plain"); emailIntent.putExtra(Intent.EXTRA_EMAIL, TO); emailIntent.putExtra(Intent.EXTRA_CC, CC); emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Your subject"); emailIntent.putExtra(Intent.EXTRA_TEXT, "Email message goes here"); try { startActivity(Intent.createChooser(emailIntent, "Send mail...")); finish(); Log.i("Finished sending email...", ""); } catch (android.content.ActivityNotFoundException ex) { Toast.makeText(MainActivity.this, "There is no email client installed.", Toast.LENGTH_SHORT).show(); } }
و در نهایت برای این که ایمیل ارسال شود شما باید متد startActivity را فراخوانی نمایید. هنگام فراخوانی این متد اگر بیش از یک برنام ایمیل در دستگاه شما نصب شده باشد و برای این که از شما سوالی پرسیده شود که می خواهید با کدام برنامه ایمیل را ارسال کنید از متد createChooser استفاده می کنیم. در این صورت یک لیست به شما نشان داده شده و شما می توانید انتخاب کنید.
یادگیری برنامه نویسی برای متخصصین حوزه کامپیوتر این روزها یک الزام به حساب می آید. از جمله محبوب ترین زبان های برنامه نویسی دنیا می توانیم به زبان برنامه نویسی سی شارپ ، زبان برنامه نویسی جاوا ، زبان برنامه نویسی پایتون ، زبان برنامه نویسی سی پلاس پلاس و زبان برنامه نویسی SQL ( لازمه هر زبان دیگری ) و زبان برنامه نویسی PHP اشاره کنیم.
برای آموزش برنامه نویسی می توانید با خیال راحت در قالب دوره های آموزش برنامه نویسی سایت توسینسو ، آموزش سی شارپ ، آموزش جاوا ، آموزش پایتون ، آموزش جنگو ، آموزش PHP ، آموزش جاوا اسکریپت ، آموزش برنامه نویسی اندروید ، آموزش SQL و آموزش MySQL را بصورت جامع و حرفه ای آموزش ببینید.
بنیانگذار توسینسو و برنامه نویس
مهدی عادلی، بنیان گذار TOSINSO. کارشناس ارشد نرم افزار کامپیوتر از دانشگاه صنعتی امیرکبیر و #C و جاوا و اندروید کار می کنم. در زمینه های موبایل و وب و ویندوز فعالیت دارم و به طراحی نرم افزار و اصول مهندسی نرم افزار علاقه مندم.
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود