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

پرمیشن کتابخانه phone در تارگت 29 به بالا


سید رضا

سوال

با سلام من میام تو تارگت 22 گوشی رو بی صدا و با صدا میکنم با کد زیر 

 

Dim P As Phone
P.setringermode (P.RINGER_NORMAL)

حالا تو تارگت 29 ارور میده باید تو منیفست پرمیشنی بزارم یا در RuntimePermissions لطفا راهنمایی بفرمایید ارور مربوطه این می باشد .

 

 


main_activity_create (B4A line: 31)
P.SetRingerMode (P.RINGER_SILENT)
java.lang.SecurityException: Not allowed to change Do Not Disturb state
	at android.os.Parcel.readException(Parcel.java:1673)
	at android.os.Parcel.readException(Parcel.java:1626)
	at android.media.IAudioService$Stub$Proxy.setRingerModeExternal(IAudioService.java:962)
	at android.media.AudioManager.setRingerMode(AudioManager.java:1076)
	at anywheresoftware.b4a.phone.Phone.SetRingerMode(Phone.java:421)
	at b4a.example.main._activity_create(main.java:392)
	at java.lang.reflect.Method.invoke(Native Method)
	at anywheresoftware.b4a.BA.raiseEvent2(BA.java:213)
	at b4a.example.main.afterFirstLayout(main.java:105)
	at b4a.example.main.access$000(main.java:17)
	at b4a.example.main$WaitForLayout.run(main.java:83)
	at android.os.Handler.handleCallback(Handler.java:761)
	at android.os.Handler.dispatchMessage(Handler.java:98)
	at android.os.Looper.loop(Looper.java:156)
	at android.app.ActivityThread.main(ActivityThread.java:6617)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832)

 

 

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

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

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

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

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

شما هر دو مورد رو انجام بده.

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

تو مرجع این رو زده برای اندروید 7 به بالا ولی پرمین رو باید چطوری بنویسم تو منیفیت و ران تایم چون نصفه نوشته

 

Sets the phone ringer mode.
Mode - One of the RINGER constants.
Starting from Android 7+ this method will throw an exception if the user set the Do Not Disturb mode,
unless your app has requested a special permission with NOTIFICATION_POLICY_ACCESS_SETTINGS.
Example:
Dim p As Phone
p.SetRingerMode(p.RINGER_VIBRATE)

 

 

این رو باید به چه صورتی بنویسم 

 

special permission with NOTIFICATION_POLICY_ACCESS_SETTINGS.

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

برای اضافه کردن دسترسی از طریق مانیفست بدین شکل صورت میگیره 

 

Addpermission("android.permission.ACCESS_NOTIFICATION_POLICY")

برای Runtime  هم به این صورت بکار بگیرید.

runtimePermissions.CheckAndRequest("android.permission.ACCESS_NOTIFICATION_POLICY")
	Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
	If Result=True Then
			ToastMessageShow("IS OK.",True)
	Else
		ToastMessageShow("Please Accept Permission And Then Try Again ...",True)
	End If

 

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

بایگانی شده

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

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

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