تالار گفتمان nCIS.ir

نسخه‌ی کامل: ارسال پیامک طولانی
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
برای ارسال پیامک طولانی از این کد استفاده کردم:
SmsManager sms = SmsManager.getDefault();
ArrayList<String> parts = sms.divideMessage(message);
sms.sendMultipartTextMessage(number, null, parts, null, null);
ولی پیامهای طولانی دریافت نشدن. ظاهرا در ارسال مشکلی نیست، اما دریافت نمیشن. البته نمیدونم شانسی چطوری یکی دوتاش دریافت شد، ولی بقیش هنوز دریافت نشده. میگم شاید چون پیامکش طولانیه، اولویتش کم میشه، شاید هم توی شبکه جایی مشکلی براش پیش میاد.

یه برنامه از بازار روی گوشیم نصب کرده بودم واسه ارسال پیامک طولانی چطوری اون خوب کار میکنه پس؟
نه تا اینجا که متوجه شدم توی کدش مشکلی نیست.

فکر کنم خودم الان جوابش رو پس از حدس زدن و تست کردن یافتم!

پیامهایی که من برای تست برنامه ارسال میکردم یه متن های بی معنی و دارای کاراکترهای تکراری زیاد بودن. مثلا 1111111111111111111111...11111111111111111x111111111111111.
حدس زدم این پیامها توسط شرکت تلفن همراه بعنوان اسپم یا چیز دیگه شناسایی و جلوگیری میشن. پس الان اومدم یکسری متن های عادی تر زدم که ظاهرشون معنادار باشه، و این پیامها دریافت شدن.

حداقل ایرانسل که اینطوریه ظاهرا!

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

ضمنا حالا یوقت بخوایم یه اطلاعات رمزی چیزی با sms جابجا کنیم برای برنامهء خاصی، اونوقت اینطوری ممکنه فیلتر بشه که!
برنامه نوسیش بماند حالا

اما در مورد دوم که گفتی......
همین کد رو یعنی
111111111111111111111111111111111111111x111111111111111.
با پنل های اسمس موجود به شماره خودم ارسال کردم و دریافت شد.
و دوباره همونو به شماره دیگه ام ارسال کردم باز دریافت شد.

پس مشکل از ارساله نه دریافت
از اصول اولیه روش علمی اینه که شرایط آزمایش باید دقیقا یکسان باشه.
الان مثلا پنل sms قابل قبول نیست، چون شماره و نوع خاصی هست، نه شماره موبایل شخصی.
اگر میخوای دقیق تست کنی از خط ایرانسل به خط ایرانسل بفرست. تازه من باشم میگم اگر جواب نداد، در مرحله بعد از 936 هم بفرست!

ضمنا منم میفرستم مثلا بار اول فکر کنم دریافت میشه، ولی دفعات بعدی دریافت نمیشه. خلاصه چند بار پشت سر هم بفرست و با الگوی مشابه، نه یک بار.

کدهای منم مشکلی نداره Big Grin
دیگه حوصله نداشتم Pending intent بذارم و واسه ارسال و دریافت موفقیت آمیز چک کنم یا هندلینگ خطای خاصی بذارم. واسه برنامه شخصی من فعلا همین کفایت میکنه و کارم رو راه میندازه.