ارسال sms(پیامک)در برنامه نویسی اندروید

ارسال پیامک در اندروید

خلاصه آموزش:

ارسال پیامک در اندروید

آشنایی با کلاس SmsManager

ارسال پیامک با استفاده از SmsManager API

ارسال sms با استفاده از برنامه پیشفرص گوشی

دریافت مجوز از مانیفست

ساخت پروژه ارسال پیامک در اندروید

در اندروید می توانیم یک پیامک را با استفاده از SmsManager API یا اپلیکیشن پیش فرض مدیریت پیام ها ارسال کنیم. در این بخش آموزش این دو روش پایه برای ارسال sms(پیامک) را همراه با مثال توضیح خواهیم داد.

SmsManager API

برنامه ی پیش فرض مدیریت پیام ها

البته برای هر دو حالت لازم است مانند قطعه کد زیر با استفاده از “SEND_SMS permission” مجوز ارسال پیامک را دریافت کنیم.

به غیر از متدهای فوق، متد های مهم دیگری نیز در کلاس SmsManager وجود دارند که در جدول زیر لیست شده اند.

شماره متد و توضیحات
۱ ArrayList<String> divideMessage(String text)

این متد پیام های طولانی را به چندین پیام کوتاه تر تقسیم می کند که طول هر کدام از آن ها کمتر از حداکثر اندازه ی مجاز که معمولا ۱۶۰ کارکتر است می باشد.

۲ ()static SmsManager getDefault

این متد یک نمونه ی پیش فرض از شی SmsManager ایجاد می کند.

۳ void sendDataMessage(String destinationAddress, String scAddress, short destinationPort, byte[] data, PendingIntent sentIntent, PendingIntent deliveryIntent)

این متد برای ارسال داده ها از طریق SMS به پورت یک اپلیکیشن خاص استفاده می شود.

۴ void sendMultipartTextMessage(String destinationAddress, String scAddress, ArrayList<String> parts, ArrayList<PendingIntent> sentIntents, ArrayList<PendingIntent> deliveryIntents)

برای ارسال پیام های چند رسانه ای با استفاده از SMS استفاده می شود.

۵ void sendTextMessage(String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent)

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

مثال

این مثال نحوه ی استفاده از شی SmsManager را به منظور ارسال یک پیامک به شماره ی تعیین شده نشان می دهد. برای این منظور مراحل جدول زیر را دنبال کنید.

توصیه می کنم برای آزمایش این مثال از یک دستگاه واقعی استفاده کنید؛ چرا که ممکن است شبیه ساز مجازی انتظارات ما را برآورده نکند.

مرحله توضیحات
۱ با استفاده ار اندروید استودیو یک پروژه ی جدید با نام SmsManager تحت بسته ی com.example.smsmanager ایجاد کنید. نحوه ی ایجاد پروژه ی جدید در بخش آموزشی ساخت اولین پروژه در اندروید استودیو توضیح داده شده است.
۲ مانند آنچه در ادامه آمده است ثابت های مورد نیاز را در فایل res/values/strings.xml تعریف کنید.
۳ محتوای فایل res/layout/activity_main.xml را مانند آنچه در ادامه آمده است تغییر دهید.
۴ محتوای فایل اکتیویتی اصلی java/com.example.SmsManager/MainActivity.java را مانند آنچه در ادامه آمده است تغییر دهید.
۵ درخواست مجوز برای استفاده از سیستم پیام رسان را در فایل AndroidManifest.xml مانند آنچه در ادامه آمده است تعریف کنید.
۶ از برنامه خروجی بگیرید و آن را روی یک دستگاه واقعی امتحان کنید و نتیجه را مورد بررسی قرار دهید. همچنین می توانید برنامه را با استفاده از شبیه ساز مجازی نیز اجرا کنید که در این صورت ارسال پیام همواره ناموفق خواهد بود.

در زیر محتوای فایل res/values/strings.xml آورده شده است.

محتوای زیر مربوط به فایل res/layout/activity_main.xml می باشد.

محتوای فایل اکتیویتی اصلی java/com.example.SmsManager/MainActivity.java را مانند آنچه در ادامه آمده است تغییر دهید.

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

ارسال پیامک در اندروید

حالا یک پیام متنی و شماره ی مورد نظر را وارد کنید و سپس روی دکمه ی ارسال کلیک کنید. اگر برنامه را روی یک دستگاه واقعی نصب کرده باشید با فشردن دکمه پیام ارسال خواهد شد.

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

ارسال پیامک با استفاده از برنامه ی پیش فرض سیستم

با استفاده از Intentها می توانیم برنامه ی پیش فرض ارسال پیام را که جزئی از سیستم عامل اندروید است را راه اندازی کنیم. در ادامه مراحل ساخت یک شی Intent به منظور ارسال پیام توضیح داده شده است.

شی Intent – نوع فعالیت (Action) جهت ارسال پیامک

به منظور راه اندازی برنامه ی پیش فرض ارسال پیام باید از نوع فعالیت ACTION_VIEW استفاده کنیم. در قطعه کد زیر نحوه ی ایجاد Intent با نوع فعالیت ACTION_VIEW نشان داده شده است.

شی Data/Type – Intent جهت ارسال پیامک

به منظور ارسال پیامک لازم است با استفاده از متد ()setData رشته ی “:smsto” را به عنوان URI و با استفاده از متد ()setType نوع داده را “vnd.android-dir/mms-sms” تعیین کنیم. مانند قطعه کد زیر

شی Intent – داده های اضافی (Extra) جهت ارسال پیامک

اندروید در حالت پیش فرض از امکان افزودن شماره تلفن و متن پیام به Intentی که به منظور ارسال پیام ساخته شده است پشتیبانی می کند.

در اینجا “address” و ” sms_body” باید با حروف کوچک نوشته شوند. همچنین می توانیم در قسمت address بیش از یک شماره تلفن را مشخص کنیم که در این صورت باید آن ها را با سمی کالن (;) از هم جدا کنیم.

مثال

این مثال نحوه ی استفاده از شی Intent جهت ارسال پیامک با استفاده از برنامه ی پیش فرض سیستم را نشان می دهد. برای این منظور مراحل جدول زیر را دنبال کنید.

توصیه می کنم برای آزمایش این مثال از یک دستگاه واقعی استفاده کنید؛ چرا که ممکن است شبیه ساز مجازی انتظارات ما را برآورده نکند.

مرحله توضیحات
۱ با استفاده ار اندروید استودیو یک پروژه ی جدید با نام built-in SMS تحت بسته ی com.example.built_in.sms ایجاد کنید. نحوه ی ایجاد پروژه ی جدید در بخش آموزشی ساخت اولین پروژه در اندروید استودیو توضیح داده شده است.
۲ مانند آنچه در ادامه آمده است ثابت های مورد نیاز را در فایل res/values/strings.xml تعریف کنید.
۳ محتوای فایل res/layout/activity_main.xml را به منظور ایجاد یک دکمه که کلاینت پیام رسان را راه اندازی می کند مانند آنچه در ادامه آمده است تغییر دهید.
۴ محتوای فایل اکتیویتی اصلی java/com.example.built_in.sms/MainActivity.java را مانند آنچه در ادامه آمده است تغییر دهید.
۵ از برنامه خروجی بگیرید و آن را روی یک دستگاه واقعی امتحان کنید و نتیجه را مورد بررسی قرار دهید. همچنین می توانید برنامه را با استفاده از شبیه ساز مجازی نیز اجرا کنید که در این صورت ارسال پیام همواره ناموفق خواهد بود.

در زیر محتوای فایل res/values/strings.xml آورده شده است.

در زیر محتوای فایل res/layout/activity_main.xml آورده شده است.

و در نهایت محتوای زیر مربوط به فایل java/com.example.built_in.sms/MainActivity.java می باشد.

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

ارسال پیامک در برنامه نویسی اندروید

حال اگر روی دکمه ی نوشتن پیام کلیک کنید مانند تصویر زیر به برنامه ی پیش فرض سیستم برای مدیریت پیام ها منتقل می شوید و اگر برنامه را روی یک دستگاه واقعی نصب کرده باشید قادر به ارسال پیام نیز خواهید بود.

ارسال sms در اندروید

One thought on “ارسال sms(پیامک)در برنامه نویسی اندروید”

  1. برنامه خوبي است فقط در گوشي من كه دو سيم كارت است سيم كارت اول همراه اول وسيم كارت دوم ايرانسل مي باشد . گوشي در حالت پيش فرض روي سيم كارت اول تنظيم ميباشد. وقتي از برنامه اول شما براي ارسال sms استفاده مي كنم sms از سيم كارت دوم ارسال مي شود.(با توجه به اينكه پيش فرض سيم كارت اول مي باشد.)
    توجه : وقتي كه از برنامه ارسال sms گوشي استفاده ميكنم sms از سيم كارت اول ارسال مي شود. (چون پيش فرض سيم كارت اول ميباشد.)

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *