دریافت sms های چند صفحه ای و یکپارچه کردن(multipart sms)

سوال

تو برنامه نویسی b4a با تابع smsinterceptor پیام رو دریافت میکنیم.ازین بابت مشکلی نیست منتها مشکل اینه که وقتی مثلا یه پیامک سه صفحه ای میاد پیام هارو بصورت سه صفحه جداگانه ذخیره میکنه.چون در لجظه فقط یه صفحه رو دریافت میکنه

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

حل شد 1
, ۱۳۹۶/۲/۸ ۱۹:۰۹:۰۸ 2 پاسخ کاربر تازه 0

پاسخ ها ( 2 )

    0
    ۱۳۹۶/۲/۹ ۱۵:۴۷:۵۳

    سلام

    این سورس ارسال و دریافت SMS را دانلود کنید، انشاءالله که به نتیجه می رسید، برای دانلود کلیک کنید.

    موفق باشید.

    2
    ۱۳۹۶/۲/۱۴ ۱۹:۴۰:۳۸

    به پاس پاسخی که دادید.بنده این تابعی که اماده کردمو تو سایتتون قرار میدم که قطعا تو هیچکدوم از سایتهای ایرانی بلکه سایت مرجع هم(تابع صحیحش)وجود نداره.زحمت بسیار زیادی برای این مساله کشیده شده.تقدیم به سایت بپرسم:

     

     

    Sub ParseSmsIntent (In As Intent) As List
    Dim messages As List
    messages.Initialize
    If In.HasExtra(“pdus”) = False Then Return messages
    Dim pdus() As Object
    Dim r As Reflector
    pdus = In.GetExtra(“pdus”)
    Dim messagesMap As Map
    messagesMap.Initialize
    matn=””
    If pdus.Length > 0 Then
    For i = 0 To pdus.Length – 1
    r.Target = r.RunStaticMethod(“android.telephony.SmsMessage”, “createFromPdu”, _
    Array As Object(pdus(i)), Array As String(“[B”))
    msg.Body = r.RunMethod(“getMessageBody”)
    msg.Address = r.RunMethod(“getOriginatingAddress”)
    If matn=”” Then
    matn=msg.Body
    Else
    matn=matn&msg.Body
    End If
    Next
    End If
    Return messages

    End Sub

    بهترین پاسخ

ارسال یک پاسخ