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

دریافت Permission خاص


tarf

سوال

سلام دوستان 

چطوری می تونم Permission های زیر رو از کاربر درخواست کنم؟

Display pop-up windows while running in the background (نمایش پنجره های بازشو هنگام اجرا در پس زمینه)

Show on lock screen (نمایش بر روی صفحه قفل)

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

ممنون اگه راهنمایم کنید

 

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

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

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

در 57 دقیقه قبل، tarf گفته است :

سلام دوستان 

چطوری می تونم Permission های زیر رو از کاربر درخواست کنم؟

Display pop-up windows while running in the background (نمایش پنجره های بازشو هنگام اجرا در پس زمینه)

Show on lock screen (نمایش بر روی صفحه قفل)

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

ممنون اگه راهنمایم کنید

 

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

android.permission.SYSTEM_ALERT_WINDOW

بعد به صورت زیر از کاربر درخواست بدید.البته کد جاواس که باید تبدیل به بیسیک کنید.

if (Build.VERSION.SDK_INT>Build.VERSION_CODES.M){
            if (!Settings.canDrawOverlays(context)) {
                Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
                        Uri.parse("package:" +context.getPackageName()));
                context.startActivity(intent);
            }
        }

 

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

درود

در اول کار پرمیشن ریز رو داخل manifest اضافه کنید

AddPermission(android.permission.SYSTEM_ALERT_WINDOW)

کتابخانه JavaObject و Phone رو فعال کنید

یک class به اسم  RequestDrawOverPermission بسازید و کدهای زیر رو داخل class قرار بدید

Sub Class_Globals
   Private ion As Object
   Private phone As Phone
End Sub

Public Sub Initialize
End Sub

Public Sub GetPermission As ResumableSub
   If phone.SdkVersion >= 23 Then
       Dim settings As JavaObject
       settings.InitializeStatic("android.provider.Settings")
       Dim ctxt As JavaObject
       ctxt.InitializeContext
       If settings.RunMethod("canDrawOverlays", Array(ctxt)) = True Then
           Return True
       End If
       Dim i As Intent
       i.Initialize("android.settings.action.MANAGE_OVERLAY_PERMISSION", "package:" & Application.PackageName)
       StartActivityForResult(i)
       Wait For ion_Event (MethodName As String, Args() As Object)
       Return settings.RunMethod("canDrawOverlays", Array(ctxt))
   Else
       Return True
   End If
End Sub

Private Sub StartActivityForResult(i As Intent)
   Dim jo As JavaObject = GetBA
   ion = jo.CreateEvent("anywheresoftware.b4a.IOnActivityResult", "ion", Null)
   jo.RunMethod("startActivityForResult", Array As Object(ion, i))
End Sub

Private Sub GetBA As Object
   Dim jo As JavaObject = Me
   Return jo.RunMethod("getBA", Null)
End Sub

 

در اخر هم یک button بسازید و کد های زیر داخلش قرار بدید تا به کاربر درخواست بده

مثال:

Sub Button1_Click
   Dim c As RequestDrawOverPermission 'this is the name of the class
   c.Initialize
   Wait For (c.GetPermission) Complete (Success As Boolean)
   Log("Permission: " & Success)
End Sub

 

موفق باشید!

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

سلام ممنون 

این کد خیلی خوب بود ولی وقتی صفحه باز میشه که کاربر دسترسی ها رو بده فقط دسترسی (نمایش پنجره شناور) رو باز می کنه 

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

Display pop-up windows while running in the background (نمایش پنجره های بازشو هنگام اجرا در پس زمینه) - اینو بهش نشون نمیده که تیکشو بزنه

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

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

دوستان شرمنده اسپم می فرستم

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

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

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

vmgz_photo_2019-12-30_17-30-33.jpg

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

در 2 ساعت قبل، tarf گفته است :

دوستان شرمنده اسپم می فرستم

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

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

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

 

این چیزی که میخواین به انگلیسی چی میشه دقیقا؟ زبان گوشیتونو رو انگلیسی بزارید و دوباره اسکرین بدین

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

در 3 ساعت قبل، tarf گفته است :

اینم اسکرین انگلیسی خدمت شما
اسمش میشه این (Display pop-up windows while running in the background)

عزیز این چه گوشیه ایه؟ اندرویدش چنده و از کدوم قسمت گوشی این اسکرین رو گرفتین؟ اولین باره همچین چیزی میبینم من

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

در 16 ساعت قبل، محمدرضا شاهپیری گفته است :

عزیز این چه گوشیه ایه؟ اندرویدش چنده و از کدوم قسمت گوشی این اسکرین رو گرفتین؟ اولین باره همچین چیزی میبینم من

والا گوشی من ردمی نوت 7 هستش با اندروید 9
از بخش اطلاعات اپلیکیشن در قسمت سایر مجوز ها

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

بایگانی شده

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

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

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