رفتن به مطلب
  • 0

مشکل ارسال پیامک دو سیمکارته


ahb-dl

سوال

با سلام خدمت تمام دوستان عزیز :DD:

راستش من دارم برای پروژه کاردانی یک اپلیکیشن ارسال پیامک میسازم

دو تا مشکل برخورد کردم که الان حدود 8 روز هست که منو درگیر کرده :fekr:

1. مشکل ارسال نشدن پیامک هایی با تعداد کاراکتر بالای 68 تا ( کتابخانه phone )

2. ارسال از طریق دو سیم کارت ( گوشی های دو سیم کارته )

بابت مشکل اول از کد زیر نتونستم استفاده کنم و برنامه کار نکرد :

Sub SendSms(PhoneNumber As String, Text As String)
   Dim ps As PhoneSms
   Dim r As Reflector
   r.Target = r.RunStaticMethod("android.telephony.SmsManager", "getDefault", Null, Null)
   r.RunMethod4("sendTextMessage", Array As Object(PhoneNumber, Null, Text, Null, Null), _
      Array As String("java.lang.String", "java.lang.String", "java.lang.String", _
         "android.app.PendingIntent", "android.app.PendingIntent"))
End Sub

یک کار دیگه هم کردم که خیلی پسند نبود : پیام رو به چند بخش تبدیل کردم و تک تک ارسال کردم ( برای ارسال لینک و ادرس سایت و ... مشکل بر میخوره )

 

دوستان اگر راه حل درست و حسابی واسه این دو تا مشکل میدونید لطفا راهنمایی کنید :53:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

2 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

این کدی که دادید برای مشکل رو تست کردم : پیام میره داخل پیام ها ولی ارسال نمیشه و میزنه برای ارسال پیام روی تلاش دوباره کلیک کنید و مشکل همینطور پابرجاس

یکی از انجمن ها خوندم که با تعریف msg id برای پیام ها میشه اون ها رو به هم چسبوند

ایا میدونید چطور و با چه کتابخونه ای میشه مسیج ای دی برای پیام ها تعریف کرد؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 6 ساعت قبل، ahb-dl گفته است :

1. مشکل ارسال نشدن پیامک هایی با تعداد کاراکتر بالای 68 تا ( کتابخانه phone )

2. ارسال از طریق دو سیم کارت ( گوشی های دو سیم کارته )

مشکل اول که سیستم مخابره ای مخابرات طوری طراحی شده که حافظه ی سیستمشون متن های حجیم بیشتر از ماکزیمم تعداد کاراکتر تعریف شدشون نمیتونن قبول کنن و بفرستن

میتونید از این کد برای چند بخشی کردن پیام استفاده کنید که استاندارد خود سرویس پیام رسانیه

Sub SendLargeSms(Destination As String, Message As String)
   Dim r As Reflector
   r.Target = r.RunStaticMethod("android.telephony.SmsManager", "getDefault", Null, Null)
   Dim parts As Object
   parts = r.RunMethod2("divideMessage", Message, "java.lang.String")
   r.RunMethod4("sendMultipartTextMessage", _
      Array As Object(Destination, Null, parts, Null, Null), _
      Array As String("java.lang.String", "java.lang.String", _
         "java.util.ArrayList", "java.util.ArrayList", "java.util.ArrayList"))
End Sub

برای مشکل دوم هم خود گوشی تعیین میکنه که از کدوم سیم کارت پیام رو ارسال کنه مثلاً شما گوشیت دو سیم کارت هستش و ارسال پیامک رو روی سیم کارت دوم تنظیم میکنید و هنگام اجرای کد ارسال پیامک گوشی با سیم کارت تعریف شده پیشفرض شما پیام رو ارسال میکنه

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

#Region  Project Attributes 
	#ApplicationLabel: Dual Sim
	#VersionCode: 1
	#VersionName: 
	'SupportedOrientations possible values: unspecified, landscape or portrait.
	#SupportedOrientations: unspecified
	#CanInstallToExternalStorage: False
#End Region

#Region  Activity Attributes 
	#FullScreen: False
	#IncludeTitle: True
#End Region

Sub Process_Globals
	'These global variables will be declared once when the application starts.
	'These variables can be accessed from all modules.

End Sub

Sub Globals
	'These global variables will be redeclared each time the activity is created.
	'These variables can only be accessed from this module.
	Dim BT_1, BT_2 As Button
	Dim cb As Spinner
	Dim gSim As Int
End Sub

Sub Activity_Create(FirstTime As Boolean)
	'Do not forget to load the layout file created with the visual designer. For example:
	'Activity.LoadLayout("Layout1")
	cb.Initialize ("CB")
	BT_1.Initialize ( "Bt_1")
	BT_2.Initialize ("Bt_2")
	
	cb.Add("0")
	cb.Add("1")
	cb.Add("2")
	cb.Add("3")
	cb.Add("4")
	cb.Add("5")
	cb.Add("6")
	cb.Add("7")
	cb.Add("8")
	cb.Add("9")
	BT_1.Text = "Chip 1"
	BT_2.Text = "Chip 2"
	Activity.AddView(BT_1,0,0,100dip,70dip)
	Activity.AddView(BT_2,110dip, 0, 100dip,70dip)
	Activity.AddView(cb,0,60dip,100dip,60dip)
	gSim = 0
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub
Sub Bt_1_Click
Dim i As Intent
Dim telnumber As String
Dim	xInt As Int
	xInt = cb.GetItem(cb.SelectedIndex)
	telnumber = "38144566"
'	Msgbox  ( "Int: " & xInt ,"")
	i.Initialize(i.ACTION_CALL, "tel:" & telnumber.Replace("#", "%23"))
'	i.putExtra("com.android.phone.extra.slot", xInt) 'For sim 1
	i.putExtra("SimSlot", xInt) 'For sim 1
'	i.putExtra("phone_type", xInt) 'For sim 1
	 
	'this is where all the magic is!
'	i.putExtra("phone_type", 1) 'For sim 1
	'or
'	i.putExtra("phone_type", 5) 'For sim 2 

	StartActivity(i)
End Sub

Sub Bt_2_Click
	Dim i As Intent
	Dim telnumber As String
	telnumber = "38144566"
	If gSim = 0 Then 
		gSim = 1
	Else
		gSim = 0
	End If	
	i.Initialize("ACTION_DEFAULT_SUBSCRIPTION_CHANGED","")
	i.PutExtra("subId",gSim)
	
	StartActivity(i)
End Sub

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

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

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...