ارسال sms طولانی در برنامه نویسی اندروید
سلام دوستان در این سری از آموزش های برنامه نویسی اندروید به آموزش ارسال sms طولانی در برنامه نویسی اندروید می پردازیم به طور معمول اگر متن شما بیش از 160 کارکتر باشد اگر به طور معمولی آن را ارسال کنید ارسال نمی شود و ممکن است حتی برنامه شما Force close دهد در ادامه با ما همراه باشید.
راه کار برای ارسال sms طولانی تقسیم کردن آن به چندین بخش و سپس ارسال آن است.
ابتدای کار وارد فایل AndroidManifest.xml شده و دسترسی استفاده از sms را (ارسال sms ) را اضافه کنید.
1 | <uses-permission android:name="android.permission.SEND_SMS"/> |
سپس در بخش اکتیویتی خود کد زیر را قرار دهید.
1 2 3 4 5 | String str="your large message"; String number="mobile number"; SmsManager smsManager = SmsManager.getDefault(); ArrayList<String> parts = smsManager.divideMessage(str); smsManager.sendMultipartTextMessage(number, null, parts, null, null); |
متغیر str می شود پیامی که می خواهید ارسال کنید.
متغیر بعدی number شماره تلفنی که می خواهید پیام به آن ارسال شود.
سپس از SMS Manager استفاده شده است وسپس پیام خودمان را توسط divideMessage به چندین بخش تقسیم می کنیم این کلاس خودش تشخیص می دهد و پیام را به درستی 160 تا 160 تا تقسیم می کند و سپس از کلاس sendMultipartTextMessage برای ارسال چند پیام استفاده می کنیم.
حالا یک نوع دیگه از آن را مثال می زنیم فکر کنید می خواهید پیام را به شماره های مختلف ارسال کنید.
1 2 3 4 5 | String[] numbers={ "0912346789","09213456789"} for(int i=0; i<numbers.length; i++) { smsManager.sendMultipartTextMessage(numbers[i], null, parts, null, null); } |
اگر می خواهید پیام را به شماره های مختلف ارسال کنید می تونید از کد زیر استفاده کنید. هر چندتا شماره که بخواهید می توانید در آرایه اضافه کنید. کد بالا شبیه به کد قبلی است فقط مقدار ورودی شماره را به صورت آرایه کردیم تا چندین مقدار ورودی بگیرد و چندین نفر ارسال شود.
این آموزش هم همانند آموزش های قبلی به پایان رسید.
موفق و موید باشید.
تشکر
اگر بخواهیم sms طولانی را در برنامه اندرویدی دریافت کنیم و به صورت یک پیام واحد به کار بر نشونش بدیم
چجوری باید باشه؟
سلام امکان پذیر نیست.
سلام و سپاس
با همین کد بالا متن طولانی انگلیسی که جمعاً دوتا پیامک میشه را بدون مشکل ارسال میشه ولی اگه متن را به فارسی بنویسم و طولش هم بیشتر از یک پیامک فارسی بشه ارسال نمیشه و به قسمت catch میره
برای حل مشکل چیکار میشه کرد ؟
سلام و درود
بخش logcat را قرار دهید به صورت معمول نباید مشکلی داشته باشد شاید متن بیش از حد طولانی می باشد.
سلام من دسترسی ارسال پیام رو در مانی فست برنامم تعریف کردم ولی هنگام نصب برنامه دچارمشکلی شدم که میگه برنامه شما خطرناک است چیکاکنم که این کدنیاد؟
لطفا عکس خطا رو بفرستید.