همان طور که میدانید امروزه برنامه نویسی اندروید یکی از پرکاربردترین انواع برنامه نویسی میباشد، بسیاری از برنامهها نیاز به وارد کردن کد تایید دارند که از طریق پیامک ارسال میشود، به همین علت نیاز دارید که ارسال sms در اندروید را فرا بگیرید تا بتوانید این کار را به سادگی انجام دهید. برای آموزش ارسال اس ام اس در اندروید 2 روش به صورت کلی وجود دارد که ما هر یک از این روشها را به صورت کامل توضیح میدهیم تا بتوانید از آنها در برنامهها و پروژههای اندرویدی خود استفاده کنید.
فهرست محتوای این مقاله
روشهای ارسال sms در اندروید
برای اینکه بخواهیم به آموزش ارسال sms در اندروید بپردازیم بهتر است در ابتدا روشهای این کار را به صورت کلی بررسی کنیم. اولین روش برای ارسال sms در اندروید استفاده از api میباشد که برای این کار طراحی شده است و به صورت آماده موجود است و شما میتوانید از آن برای ارسال sms در اندروید استفاده کنید. روش دوم کد زنی مستقیم در اندروید است که میتوانید با استفاده از ابزار intent که فوق العاده کاربردی میباشد این کار را انجام دهید. در ادامه هر یک از این 2 روش را به صورت جزئیتر توضیح خواهیم داد.
گرفتن اجازه از کاربر برای ارسال sms در اندروید
همان طور که میدانید در بسیاری از برنامههای اندرویدی در ابتدای نصب اجازه هایی از کاربر گرفته میشود که برنامه بتواند به سیستم دسترسی داشته باشد، این اجازهها شامل مواردی از قبیل اس ام اس، اینترنتی، دسترسی به مدیا و دسترسی به مخاطبین میباشد. بنابراین برای دسترسی به اس ام اسها و ارسال sms در اندروید نیز نیاز دارید که از کاربر این اجازه را دریافت کنید. برای دریافت اجازه کاربر در قسمت مانیفست پروژه خود باید دستور زیر را تایپ کنید:
<uses-permission android:name="android.permission.SEND_SMS" />
به وسیله این دستور میتوانید از کاربر اجازه استفاده از سیستمهای ارسال اس ام اس را دریافت کنید.
استفاده از API برای ارسال sms در اندروید
همان طور که گفته شد یکی از روشهای ارسال sms در اندروید استفاده از API است که برای این کار طراحی شده است و شما به وسیله آن میتوانید در برنامههای اندرویدی خود اقدام به ارسال اس ام اس کنید. همان طور که میدانید APIها طراحی شده اند که کد نویسی را برای برنامه نویسان راحتتر کنند و در واقع ابزارهایی برای راحتی کار برنامه نویسان هستند. API که برای ارسال sms در اندروید به کار میرود Ams Manager API نام دارد که برای استفاده از آن میتوانید به این شکل عمل کنید:
SmsManager smsManager = SmsManager.getDefualt();
smsManager.sendTextMessage(“phone No”,”sms message”, null, null);
همان طور که مشاهده میکنید به راحتی میتوانید با این کدها اقدام به ارسال sms در اندروید کنید.
توضیح کدهای استفاده شده در قسمت قبل برای ارسال sms در اندروید
همان طور که گفته شد میتوانید از این دستورات برای ارسال sms در اندروید استفاده کنید. حال به توضیح کدهای نوشته شده در قسمت قبل میپردازیم. در قسمت اول از این کدها با دستور SmsManager smsManager یک شی از کلاس SmsManager ساخته ایم و با دستور SmsManager.getDefault() آن را مقدار دهی کرده ایم تا بتوانیم به سیستم اندروید گوشی برای ارسال اس ام اس دسترسی داشته باشیم. بعد از این مرحله با استفاده یک متد که در داخل کلاس SmsManager قرار داده شده است به نام متد sendTextMessage اقدام به ارسال sms در اندروید میکنیم، این متد 4 آرگومان را دریافت میکند که مهمترین آنها 2 آرگومان اول است که فقط به توضیح آن میپردازیم، آرگومان اول اقدام به دریافت شماره تلفن شما در قالب یک string میکند و آرگومان دوم نیز متن پیام شما را باز هم در قالب یک string دریافت میکند و برای شماره ای که به عنوان آرگومان اول ارسال شده بود ارسال میکند.
ساخت برنامه ارسال sms در اندروید با استفاده از ابزار intent
همان طور که گفته شد علاوه بر استفاده از API برای ارسال sms در اندروید روش دیگری نیز وجود دارد که این روش استفاده از Intentها در برنامه نویسی اندروید میباشد، برای این کار تنها کافی است کدهای زیر را وارد کنید:
Intent intent = new Intent( Intent.ACTION_VIEW ) ;
Intent.putExtra( “sms_body”, “content” );
startActivity( intent );
به راحتی با استفاده از این کد میتوانید برنامه ساده ای را طراحی کنید که به وسیله آن اقدام به ارسال sms در اندروید کنید. همانطور که مشاهده میکنید در این برنامه از API مخصوص ارسال پیامک استفاده نشده است و خودمان با استفاده از ابزارهای اندروید اقدام به این کار کرده ایم در ادامه به توضیح کدهای نوشته شده در این برنامه ساده میپردازیم تا موفق به ارسال sms در اندروید شوید.
توضیح کدها
در خط اول از کدهای نوشته شده در قسمت قبلی با استفاده از دستورهای Intent intent یک شی از کلاس Intent ساخته ایم و بعد از آن نیز آن را طبق معمول مقدار دهی کرده ایم. با استفاده از دستورهای putExtra در داخل شی Intent که ساخته ایم اطلاعاتی را قرار میدهیم که این اطلاعات به عنوان آرگومان به این متد ارسال میشود. در پایان نیز با استفاده از دستور startActivity(intent) اقدام به شروع کار و ارسال sms در اندروید کرده ایم. متد startActivity در واقع اقدام به لانچ کردن و بردن ما از اکتیویتی حاضر به اکتیویتی دیگری میکند که مقصد این کار در خط اول به عنوان آرگومان با کانستراکتور کلاس Intent ارسال شده است که در این برنامه ساده مقصد برنامه و اپلیکیشن ارسال اس ام اس در اندروید شما میباشد که در صورتی که این برنامه بیشتری از یکی باشد از شما این سوال پرسیده میشود که برای ارسال اس ام اس قصد دارید از کدام برنامه استفاده کنید.
نکات پایانی درباره ارسال sms در اندروید
نکته ای که درباره مطالب آموزش داده شده باید گفت این است که اینها تنها برنامههای بسیار ساده ای بودند که نوشته شدند و شما میتوانید این برنامهها را به میزان دلخواه خود پیچیدهتر کنید و از دستورات پیچیدهتری استفاده کنید، به عنوان مثال میتوان گفت که SmsManager ApI دارای متدهای بسیار زیادی میباشد که میتوانید از هر یک از آنها استفاده کنید و برنامه خود را به میزان دلخواه بهبود ببخشید حتی بعضی اوقات این مدلها را بازنویسی کنید تا مطابق میل شما عمل کنند.
لطفا آموزش گرفتن اجازه برای API بالای 23 را هم توضیح بدید !!