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

چطور تماس های ورودی اندروید را در b4a کنترل کنیم ؟


sajjad_afzali

سوال

سلام دوستان

میخوام یک برنامه بنویسم که وقتی روی یک موبایل نصب بشه ، فقط یک شماره خاص بتونه باهاش تماس بگیره !

یعنی بر عکس نرم افزار های بلاک تماس ، به عنوان مثال به موبایل شماره 0915****** رو میدم و میگم به غیر از این هر شماره ای بود اون رو رد تماس بزنه.

میخوام در پس زمینه هم عمل کنه.

لطفا اگر سورس یا قطعه کدی در این زمینه دارید اینجا قرار بدید.

یشاپیش ممنون از راهنماییتون.

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

  • پاسخ ها 51
  • ایجاد شده
  • آخرین پاسخ

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

با سپاس از داداش مهدی / جناب حقیقی /پژمان نیکروان و داداش مجید آرتا:hi:

 

کد بروآد کست کچلمون کرد آخرشم کار نکرد

 

مشکلم حل شد البته با phoneevents

phoneevents رو با کلاس KILLCALL  قاطی کردم جواب داد:dance2:

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

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

broadcast reciver در سرویس باید نوشته بشه و در واقع یک اینتنت فایر میسازه.

البته میشه بدون broadcast reciver سرویس از نوع اینتنت فایر ساخت که زیادم سخت نیست. سر فرصت آموزششو میسازم.

کدی هم که مصطفی داد کار می کنه احتمالا.

ممنون ،

الان b4a از broadcast ارور میگیره و نمیشناسش ، رفرنس خاصی باید اضافه بشه ؟

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

بنده یک پیشنهاد دیگه دارم

چرا عاقل کند کاری که باز آید به کنعان غم مخور؟

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

برای مبتدی ها اصلا ساخت همچین برنامه ای راحت و مناسب نیست !

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

بنده یک پیشنهاد دیگه دارم

چرا عاقل کند کاری که باز آید به کنعان غم مخور؟

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

برای مبتدی ها اصلا ساخت همچین برنامه ای راحت و مناسب نیست !

:)

من زبان VB.NET رو سه سال هست که کار میکنم و مسلط هستم ، این هم سایتم : www.video-learn.net

بنابر این کدنویسی B4A برام سخت نیست اما با رفرنس ها و توابع این زبان اشنایی ندارم.

حالا به نظر شما چه کنم ؟!

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

:)

من زبان VB.NET رو سه سال هست که کار میکنم و مسلط هستم ، این هم سایتم : www.video-learn.net

بنابر این کدنویسی B4A برام سخت نیست اما با رفرنس ها و توابع این زبان اشنایی ندارم.

حالا به نظر شما چه کنم ؟!

اگه VB.Net کار میکنید خیلی خوبه و به قول خودتون نباید براتون سخت باشه

در مورد این حرفتون: الان b4a از broadcast ارور میگیره و نمیشناسش ، رفرنس خاصی باید اضافه بشه ؟

چه خطایی میده؟

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

اگه VB.Net کار میکنید خیلی خوبه و به قول خودتون نباید براتون سخت باشه

در مورد این حرفتون: الان b4a از broadcast ارور میگیره و نمیشناسش ، رفرنس خاصی باید اضافه بشه ؟

چه خطایی میده؟

در جایی که متغیر رو به شکل زیر تعریف کردم :

Dim bc As BroadCastReceiver

ارور : Unknown Type از BroadCastReceiver میگیره و میگه ممکنه افزودن یک رفرنس رو فراموش کرده باشید !

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

عه ببخشید الان که نگاه کردم دیدم همه رفرنس ها اضفه شده بودن به جز BroadCastReciver ...

الان این مشکل حل شد ، اما مسئله اینجاست که این کدها رو در چه رویدادی باید قرار بدم تا تماس ها چک بشن ؟!

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

آقا من الان دقیقا همین کدها رو استفاده کردم اما جواب نداد .

لینک دانلود سورس : http://up.video-learn.net/download/89603/Blocker.rar

ممنون میشم نگاهی بندازید و راهنماییم کنید !

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

#Region  Service Attributes 
   #StartAtBoot: False
#End Region

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

End Sub
Sub Service_Create
   bc.Initialize("BroadcastReceiver")
   bc.addAction("android.intent.action.PHONE_STATE")
   bc.SetPriority(2147483647)
   bc.registerReceiver("") 'here you can add the main action (intent)
End Sub
Sub Service_Start (StartingIntent As Intent)

End Sub
Sub BroadcastReceiver_OnReceive (Action As String,i As Object)
   Dim BCI As Intent
   BCI = i
   Dim number As String = BCI.GetExtra("android.intent.extra.PHONE_NUMBER")
   Log(number)
   KillCall
End Sub
Sub KillCall
  Dim r As Reflector
  r.Target = r.GetContext
  Dim TelephonyManager, TelephonyInterface As Object
  TelephonyManager = r.RunMethod2("getSystemService", "phone", "java.lang.String")
  r.Target = TelephonyManager
  TelephonyInterface = r.RunMethod("getITelephony")
  r.Target = TelephonyInterface
  r.RunMethod("endCall")
End Sub

Sub Service_Destroy

End Sub

کد اولی که دادم اشتباه بود

permission های زیر رو هم اضافه کنید

AddPermission(android.permission.READ_PHONE_STATE)
AddPermission(android.permission.CALL_PHONE)

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

ممنون جناب حقیقی اما از خط زیر ارور میگیره :

    #StartAtBoot: False

مینویسه : Atturbiute Not Supported : Startatboot

اگه میشه راهنماییم کنید این ارور رو چطور رفع کنم.

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

آهان باید ماژول سرویس ایحاد میکردم تا رفع بشه.

حالا برای این که سرویس در برنامه اندرویدی ام شروع به کار بکنه باید از کد خاصی استفاده کنم ؟ و این که اگر بخوام برنامه با بالا آمدن گوشی اجرا بشه باید StartatBott رو برابر True قرار بدم ؟

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

بایگانی شده

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

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

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

×
×
  • اضافه کردن...