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

تشخیص شماره تماس ورودی - broadcastreceiver


yasin011

سوال

سلام دوستان . کسی راجع به این کیتونه یه چند خطی توضیح بده ؟! :fekr:

 

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

 

کلاسه ؟ ماژوله ؟!! چیه ؟؟؟

 

---------------------------------

 

من کارم اون تشخیص تماس ورودی بود و چون سرچ زدم در رابطه با broadcastreceiver مطلب نوشته بودن و هیچ توضیحی یا چیزی نبود دقیقا متوجه نشدم . :roomNemishe:

 

دوستان لطفا کمک کنین :doa: :nemidoonam:

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

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

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

Sub Process_Globals
    Dim pe As PhoneEvents
    Dim pi As PhoneId
End Sub

Sub Service_Create
    pe.InitializeWithPhoneState("pe",pi)
End Sub

Sub pe_PhoneStateChanged (State As String, IncomingNumber As String, Intent As Intent)
    Log(Intent.ExtrasToString)
    If State = "RINGING" Then
        ToasMessageShow("Number - > "&IncomingNumber,False)
    End If
End Sub

 

 

سلام

من از این کد استفاده کردم

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

 

 

حالا چطور میتونم بهش بگم که اگه فلان شماره بود اتومات وصل بشه ؟

همچنین بعد از وصل تو تاریخچه تماسها نباشتش ؟

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

سلام

من از این کد استفاده کردم

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

 

 

حالا چطور میتونم بهش بگم که اگه فلان شماره بود اتومات وصل بشه ؟

همچنین بعد از وصل تو تاریخچه تماسها نباشتش ؟

سلام.

اگه منظورتون از وصل شدن جواب دادن به تماس هست اینجا ببینید.

http://answercenter.ir/topic/9497-%D8%AC%D9%88%D8%A7%D8%A8-%D8%AF%D8%A7%D8%AF%D9%86-%D8%A8%D9%87-%D8%B2%D9%86%DA%AF-%D8%AA%D9%84%D9%81%D9%86/?p=61397

اینکه تو لیست تاریخچه تماس نیاد باید کاری کرد آیتم آخری حذف بشه که باز سرچ کنید یه چیزایی دستگیرتون میشه.

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

کد ساده از PhoneEvents :

Sub Process_Globals
    Dim pe As PhoneEvents
    Dim pi As PhoneId
End Sub

Sub Service_Create
    pe.InitializeWithPhoneState("pe",pi)
End Sub

Sub pe_PhoneStateChanged (State As String, IncomingNumber As String, Intent As Intent)
    Log(Intent.ExtrasToString)
    If State = "RINGING" Then
        ToasMessageShow("Number - > "&IncomingNumber,False)
    End If
End Sub

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

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

کد ساده از PhoneEvents :
Sub Globals
    Dim pe As PhoneEvents
    Dim pi As PhoneId
	Private Label1 As Label
End Sub
Sub Service_Create
    pe.InitializeWithPhoneState("pe",pi)
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")
End Sub
Sub pe_PhoneStateChanged (State As String, IncomingNumber As String, Intent As Intent)
    Log(Intent.ExtrasToString)
    If State = "RINGING" Then
		Dim call_me As String
		call_me = IncomingNumber
        Label1.Text = call_me	
    End If
End Sub

با msgbox هم کار نکرد .

 

با ToasMessageShow کار نکرد داداش :(

 

برا شرط else هم گذاشتم که اگه نشد یکار دگ کنه . کلا نشد .

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

الان اینو در اختیار دارم .

BroadCastReceiver

 

یکی از دوستان لطف کنه و بگه باید چیکار کنم .

 

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

 

کد بلاگشم بود لطف کنین ممنون میشم .

 

 

دوستان سرچم کردم دوتا پست اومد منتهی نتوستم متوجه شم . درهم برهم بود جوابا

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

سلام

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

ولی درکل یک Flag  خاص و ACtion  خاصی رو داره که توی رویداد OnRecieve  میشه کنترلش کرد.2تا آرگومان داره که یکی Intent  و یکی Object (  اگه اشتباه نکنم ) که باید طبق این دو ارگومان عمل کنید.

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

شما دستور IF  رو بردارید و تست کنید ببینید جواب میده یا نه.

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

سلام.

چرا جواب نمیده دوست عزیز؟

 

شما اون کارایی که آقا مجید گفتن انجام بدید و این رویداد رو داخل سرویس ایجاد کنید و سرویس هم یادتون باشه اجرا کنید نتیجه میبینید:

Sub pe_PhoneStateChanged (State As String, IncomingNumber As String, Intent As Intent)
	ToastMessageShow(State,False) 'رخداد ها رو بده
    If State = "RINGING" Then ' اگه گوشی زنگ خورد
        ToastMessageShow("Number - > "&IncomingNumber,True) 'این شماره کسی که زنگ زده
    End If
End Sub

درحالت های مختلف State تغییر میکنه.

وقتی گوشی زنگ میخوره: RINGING

وقتی به تماس جواب میدیم: OFFHOOK

وقتی قطع میکنیم: IDLE

,وقتی خودمون تماس گرفتیم بازهم: OFFHOOK

 

به همین راحتی میشه شرط گذاشت که مثلا اگه State=RINGING بود پس یعنی گوشی داره زنگ میخوره.

بیا IncomingNumber که همون شماره طرف هست رو به ما بده.

 

اینم سورس همینی که مثال زدم ، برنامه رو اجرا کنید و ازش خارج بشید ، حالت های مختلف رو امتحان کنید میبینید که toastMessage میده.

همچین کسی که زنگ میزنه شرط گذاشته شده که شمارشو بده.

::دانلود::

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

سلام الان بنده دسترسی به سیستم خودم ندارم ولی درکل یک Flag خاص و ACtion خاصی رو داره که توی رویداد OnRecieve میشه کنترلش کرد.2تا آرگومان داره که یکی Intent و یکی Object ( اگه اشتباه نکنم ) که باید طبق این دو ارگومان عمل کنید.

 

up ? جناب آرتا اگه هستین لطفا بهتر توضیح بدین . :nemidoonam:

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

سلام

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

مثلا با استفادع از کتابخونه PHONE  و کلاس PhoneEvents

 که این کلاس یک رویداد داره به اسم PhoneStateChanged که 3 ارگومان State ، IncommingNumber  و Intent  که INcomingNumber  همون شماره ای که داره با ما تماس میگیره هستش.

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

و در ضمن یک کتابخونه دیگه هم هست به اسم PhoneStateListener  که دقیقا همچین رویدادی داره ولی آرگومان Intent  ور نداره

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

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

بایگانی شده

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

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

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