رفتن به مطلب
برای استفاده از انجمن و عضـویت کلیک کنید.

AnswerCenter

مرکز پاسخگویی به سوالات برنامه نویسی

درخواست سفارش پروژه

اطلاعیه

کاربر گرامی

به انجمن برنامه نویسی AnswerCenter.ir خوش آمدید

 برای استفاده از تمامی امکانات سایت لطفا در انجمن عضو شوید


  • 0
alimo1999

فهمیدن زنگ خوردن گوشی

سوال

alimo1999    82

کاربر رو به رشد

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

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

این امکان تا اندروید 6 یا 7 کارمی کنه به راحتی ولی روی 8 و 9 کار نمی کنه و هیچ نتیجه ای نمی ده (از طرفی ام اندروید 9 در دسترسم نیست)

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

دوستان راهی دارید؟

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


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

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

پست های پیشنهاد شده

  • 0
محمدرضا شاهپیری    3,824

مدیر کل سایت

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

یه سرویس بسازید و اونو پایدار کنید. و به صورت زیر برودکست رو راه اندازی کنید.

Sub Process_Globals
Dim pr As PersianBroadCastReceiver
End Sub

Sub Service_Create
	pr.Initialize("pr")
	pr.AddAction("android.intent.action.PHONE_STATE")
	pr.RegisterReceiver
End Sub

Private Sub pr_OnReceive(intent As Intent)
	Dim state As String=intent.GetExtra("state")
	If state.EqualsIgnoreCase("RINGING") Then
		Log("incoming call START")
	Else If state.EqualsIgnoreCase("IDLE") Then
		Log("incoming call END")
	End If
End Sub

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

AddPermission(android.permission.READ_PHONE_STATE)

حالا کافیه برنامه رو اجرا و سرویس رو استارت کنید

  • تشکر 1

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
alimo1999    82

کاربر رو به رشد

در در 9 آذر 1398 در 20:52، محمدرضا شاهپیری گفته است :

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

یه سرویس بسازید و اونو پایدار کنید. و به صورت زیر برودکست رو راه اندازی کنید.


Sub Process_Globals
Dim pr As PersianBroadCastReceiver
End Sub

Sub Service_Create
	pr.Initialize("pr")
	pr.AddAction("android.intent.action.PHONE_STATE")
	pr.RegisterReceiver
End Sub

Private Sub pr_OnReceive(intent As Intent)
	Dim state As String=intent.GetExtra("state")
	If state.EqualsIgnoreCase("RINGING") Then
		Log("incoming call START")
	Else If state.EqualsIgnoreCase("IDLE") Then
		Log("incoming call END")
	End If
End Sub

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


AddPermission(android.permission.READ_PHONE_STATE)

حالا کافیه برنامه رو اجرا و سرویس رو استارت کنید

اقا واقعا مرسی

حواسم نبود از اینتنت android.intent.action.NEW_OUTGOING_CALL استفاده می کردم بعد فکر می کردم دسترسی read phone ران تایم نداره چون داخل 6 میداد به طور پیش فرض ولی تو 9 نه

ممنون

  • پسندیدن 1

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


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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

مهمان
پاسخ به این سوال ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به عنوان یک لینک به جای

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • جدید...