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

مشکل با پرداخت USSD و Intent


qashqaie

سوال

سلام

وقت بخیر دوستان

 

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

android.permission.CALL_PHONE (تماس مستقیم با شماره تلفن‌ها)

 

البته من توی سورسم با Intent فراخوانی کردم اما این دسترسی رو هم گذاشته بودم.حالا که میخوام این دسترسی رو بردارم کدم به درستی اجرا نمیشه و ارور زیر رو توی اجرای نرم افزار نشون میده ( ارور نرم افزار پیوست شد )

 

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

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

در ضمن دسترسی Call_Phone فقط در سورسی که گذاشتم هست و در Manifest چیزی تایین نکردم!

Sub Globals
	'These global variables will be redeclared each time the activity is created.
	'These variables can only be accessed from this module.

	Private exit_amoozesh As Button
	Private bisthezar As Button
	Private dahhezar As Button
	Private panjahezar As Button
	Private panjhezar As Button
	Private pey_rahnema As Button
'	Dim PhoneCalls As PhoneCalls
	Private Panel_peyrah As Panel
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("payment")

End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub call(Command As String)
    Dim i As Intent
    i.Initialize(i.ACTION_CALL, "tel:" & Command.Replace("#", "%23"))
    StartActivity(i)
End Sub

Sub pey_rahnema_Click
Activity.LoadLayout("peymentrah")

End Sub

Sub panjhezar_Click
	call("*720*36111*818948#")
End Sub

Sub panjahezar_Click
	call("*720*36111*648769#")
End Sub

Sub dahhezar_Click
	call("*720*36111*651752#")
End Sub

Sub bisthezar_Click
	call("*720*36111*945297#")
End Sub

Sub exit_amoozesh_Click
		Panel_peyrah.Enabled = False
	Panel_peyrah.Visible = False
End Sub

post-1211-0-50221100-1446460873_thumb.png

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

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

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

خب خوشبختانه طی توضیحاتی که دادم قانع شدند که تایید کنند برنامه رو و دیگه نیاز به حذف اون دسترسی نباشه...!

ممنون از دوستانی که راهنمایی کردند :gol:

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

متاسفانه مشکل همچنان باقی است.

دوستان راه حلی به ذهنتان نمی رسد...؟

استفاده از Intent جهت فراخوانی USSD غیر از چیزی هست که در سورس بالا من نوشتم!؟

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

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

سلام

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

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

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

پیام کافه بازار در خصوص حذف دسترسی و استفاده از Intent برای جایگزینی آن....

 

لطفاً دسترسی زیر را از برنامه حذف کنید و امکان مورد نظر خود را از طریق Intent پیاده‌سازی کنید.

android.permission.CALL_PHONE (تماس مستقیم با شماره تلفن‌ها)

۱۵-۱۷- استفاده از Intent: کارهای حساسی که باید در برنامه ایمن و شفاف باشند و یا برای کاربر هزینه‌بر هستند مانند ارسال پیامک یا برقراری تماس تلفنی، باید تا جای ممکن با استفاده از Intent انجام شوند.

برنامه‌های اندرویدی می‌توانند خیلی کارها را به جای اینکه مستقیماً انجام دهند، با استفاده از Intent انجام دهند که در این صورت، نیازی به دسترسی‌های مربوط به انجام آن کار نیست و این روند از نظر بازار پذیرفته‌تر است. وقتی از Intent استفاده می‌کنید، کاری که قرار است انجام شود برای کاربر مشخص و نیازمند تأیید وی است. مثلاً وقتی پیامکی را با Intent ارسال کنید، دیگر برنامه‌ٔ شما به دسترسی «ارسال پیامک» نیاز ندارد و ضمناً متن پیامک ارسالی و گیرنده، به کاربر نمایش داده می‌شود و کاربر می‌تواند آن را رد یا ارسال نماید.

 

هرچی من جستجو هم کردم باز به نتیجه نرسیدم تا کنون...!!

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

درود

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

کدهای اصلیشو میگم چک کن ببین :

Sub Process_Globals
Dim PhoneCalls As PhoneCalls
End Sub

Dim PhoneCalls As PhoneCalls رو حتما توی Process_Globals تعریف کن !

در ضمن من از کتابخانه Phone نسخه : 2.27 استفاده کردم ... ! و کتابخانه Core نسخه 4.92

Sub Button1_Click
If EditText1.Text = "" Then
Msgbox("لطفا شماره موبایل خود را وارد کنید","خطا")
Else
Call("*724*10176061*" & priceint & "*100*" & productCode & "*" & countint & "*" & EditText1.Text & "*" & POSCODE & "#")
End If
End Sub
Sub Call(Command As String)
 i.Initialize(i.ACTION_CALL,"tel:" & Command.Replace("#","%23"))
 StartActivity(i)
End Sub

توی Manifest هم هیچ نوع دسترسی حذف و اضافه نکردم  :write:

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

ممنون جناب ایزدی

 

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

Dim PhoneCalls As PhoneCalls

سپس sub رو به این شکل تعریف کردم

Sub call(Command As String)
    Dim i As Intent
    i.Initialize(i.ACTION_CALL, "tel:" & Command.Replace("#", "%23"))
    StartActivity(i)
End Sub

سپس Button رو به این شکل تعریف کردم

Sub panjhezar_Click
	call("*720*36111*818948#")
End Sub

حالا چیزی که بازار گیر داده بهش،این هست:

android.permission.CALL_PHONE (تماس مستقیم با شماره تلفن‌ها)

 

در حالی که این دسترسی همون فراخوانی کتابخانه PhoneCalls  هست!

همچنین من در فراخوانی کد از Intent هم استفاده کردم...!

 

حالا سوال اینجاست،آیا میشود به غیر از کدی که نوشتم،به صورت دیگری نوشت که نخواد از Call_phone استفاده کرد؟!

 

اصلا راه دیگری هست یا نه...؟

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

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

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

نه فکر کنم متوجه منظورم نشدید جناب ایزدی

 

من اگر همین کد بالا که عرض کردم رو بنویسم به درستی کار میکنه و هیچ مشکلی ندارم...! ( لینک برنامه را در این اینجا گذاشتم و هیچ مشکلی ندارد جهت اجرا)

 

اما الان بازار جهت تایید برنامه درخواست حذف دسترسی Phone_Call رو داده ، اما به محض حذف این دسترسی با ارور بالا مواجه میشم...!

 

میگه باید از طریق intent این عملیات رو انجام بدی،البته دسترسی رو هم حذف کنی...!!

 

موندم چطوری عمل کنم

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

درود 

برای پاک کردن دسترسی میتونید از این کد استفاده کنید » 

RemovePermission(android.permission.CALL_PHONE)

اروری هم که پیوست کردید مربوط میشه به اینکه نرم افزاری که میخواید کاربر رو با intent بهش ارجاع بدید روی گوشی کاربر نصب نیست. 

میتونید با دستور Try از این ارور هم جلوگیری کنید.

موفق باشید.

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

بایگانی شده

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

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

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