مهدی عادلی فر
بنیانگذار توسینسو و برنامه نویس

آموزش ارسال SMS با اندروید و روشهای مختلف آن در برنامه نویسی

چگونه با اندروید SMS بفرستیم؟ در اندروید از داخل برنامه اندرویدی می توان پیامک یا SMS ارسال کرد. این کار با استفاده از API های موجود در SmsManager یا برنامه SMS که در دستگاه های اندرویدی وجود دارد ممکن است. در این مطلب ما در مورد ارسال SMS صحبت خواهیم کرد. برای ارسال پیامک با استفاده از API باید از کد زیر استفاده کنیم.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage("phoneNo", null, "sms message", null, null);

در کد بالا در قسمت phoneNo شماره تلفن قرار می گیرد و در قسمت sms message متن پیام قرار می گیرد. راه دیگری که وجود دارد این است که با استفاده از برنامه SMS خود گوشی های اندروید پیامک بفرستیم. برای این کار باید از Intent ها استفاده کنیم. برای استفاده کردن از intent ها باید از کد زیر استفاده کنیم.

Intent sendIntent = new Intent(Intent.ACTION_VIEW);
sendIntent.putExtra("sms_body", "default content"); 
sendIntent.setType("vnd.android-dir/mms-sms");
startActivity(sendIntent);

در داخل extra که کلید آن sms_body است متن پیامک قرار می گیرد. دقت داشته باشید که اگر ما بخواهیم پیامک ارسال کنیم به هر روشی اگر بخواهیم کار کنیم باید مجوز ارسال پیامک را از کاربر بگیریم و خط زیر را در فایل AndroidManifest قرار بدهیم.

<uses-permission android:name="android.permission.SEND_SMS" />

هنگامی که داده ها را با intent ارسال می کنیم اکشن را باید از نوع VIEW انتخاب کنیم و بعد از آن باید نوع داده را انتخاب کنیم. نوع داده هنگام ارسال پیامک smsto می باشد و type را نیز باید vnd.android-dir/mms-sms انتخاب کنیم. یعنی مشخص کردن این قسمت ها به شکل زیر خواهد بود

Intent smsIntent = new Intent(Intent.ACTION_VIEW);
smsIntent.setData(Uri.parse("smsto:"));
smsIntent.setType("vnd.android-dir/mms-sms");

بعد از این که نوع و داده intent را مشخص کردیم باید شماره تلفن و متن پیامک را مقداردهی کنیم. برای این کار از extra های intent استفاده می کنیم. که برای شماره تلفن کلید مربوط به extra باید address و کلید متن پیامک مربوط به extra باید مقدار sms_body باشد. یعنی به شکل زیر

smsIntent.putExtra("address"  , new String("0123456789;3393993300"));
smsIntent.putExtra("sms_body"  , "Hello from Itpro");

دقت کنید که اگر بخواهیم به چند نفر پیامک ارسال کنیم باید شماره ها را با استفاده از سمی کولن یا ; از هم جدا کنیم. در نهایت هم باید با استفاده از متد startActivity پیامک را آماده ارسال کنیم. البته دقت داشته باشید که با این کار پیامک خود به خود ارسال نخواهد شد و برنامه پیامک باز خواهد شد و پیام شما نوشته شده در آن و شماره های شما نیز در آن گرفته شده است و شما می توانید در این حالت پیامک یا شماره ها را ویرایش کنید و در انتها بر روی دکمه ارسال کلیک کنید. ITPRO باشید

نویسنده: مهدی عادلی فر

منبع: Itpro

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.


مهدی عادلی فر
مهدی عادلی فر

بنیانگذار توسینسو و برنامه نویس

مهدی عادلی، بنیان گذار TOSINSO. کارشناس ارشد نرم افزار کامپیوتر از دانشگاه صنعتی امیرکبیر و #C و جاوا و اندروید کار می کنم. در زمینه های موبایل و وب و ویندوز فعالیت دارم و به طراحی نرم افزار و اصول مهندسی نرم افزار علاقه مندم.

نظرات