دوستان، توی اندرویدهای جدید ( مثلا اندروید 13 ) ظاهرا دیگه مجوز ران تایم هم کاربردی نداره.
یکی از دوستان گفت برای تارگت های 28 به بالا باید از ManageExternalStorage استفاده کرد.
من با استفاده از کد زیر میام دسترسی به حافظه رو بگیرم، اما وقتی به ManageExternalStorage میرسه، فورس کلوز میشه:
Private MES As ManageExternalStorage
Dim rp As RuntimePermissions
Private SdkVersion As Int = device.SdkVersion
MES.Initialize(Me,"MES")
If SdkVersion < 30 Then
Log("SDK = " & SdkVersion & " : Requesting WRITE_EXTERNAL_STORAGE permission")
Dim rp As RuntimePermissions
rp.CheckAndRequest(rp.PERMISSION_WRITE_EXTERNAL_STORAGE) ' Implicit read capability if granted
Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
Log($"PERMISSION_WRITE_EXTERNAL_STORAGE = ${Result}"$)
Else
Log("SDK = " & SdkVersion & " : Requesting MANAGE_EXTERNAL_STORAGE permission")
Log("On Entry MANAGE_EXTERNAL_STORAGE = " & MES.HasPermission)
If Not(MES.HasPermission) Then
MsgboxAsync("This app requires access to all files, please enable the option", "Manage All Files")
Wait For Msgbox_Result(Res As Int)
Log("Getting permission")
MES.GetPermission
Wait For MES_StorageAvailable
End If
End If
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید.
اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: strong> مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.
سوال
batman123 67
سلام به همه
دوستان، توی اندرویدهای جدید ( مثلا اندروید 13 ) ظاهرا دیگه مجوز ران تایم هم کاربردی نداره.
یکی از دوستان گفت برای تارگت های 28 به بالا باید از ManageExternalStorage استفاده کرد.
من با استفاده از کد زیر میام دسترسی به حافظه رو بگیرم، اما وقتی به ManageExternalStorage میرسه، فورس کلوز میشه:
Private MES As ManageExternalStorage Dim rp As RuntimePermissions Private SdkVersion As Int = device.SdkVersion MES.Initialize(Me,"MES") If SdkVersion < 30 Then Log("SDK = " & SdkVersion & " : Requesting WRITE_EXTERNAL_STORAGE permission") Dim rp As RuntimePermissions rp.CheckAndRequest(rp.PERMISSION_WRITE_EXTERNAL_STORAGE) ' Implicit read capability if granted Wait For Activity_PermissionResult (Permission As String, Result As Boolean) Log($"PERMISSION_WRITE_EXTERNAL_STORAGE = ${Result}"$) Else Log("SDK = " & SdkVersion & " : Requesting MANAGE_EXTERNAL_STORAGE permission") Log("On Entry MANAGE_EXTERNAL_STORAGE = " & MES.HasPermission) If Not(MES.HasPermission) Then MsgboxAsync("This app requires access to all files, please enable the option", "Manage All Files") Wait For Msgbox_Result(Res As Int) Log("Getting permission") MES.GetPermission Wait For MES_StorageAvailable End If End If
به ران تایم هم میرسه فورس کلوز میشه!!
از این دستورات هم توی منیفست استفاده کردم:
AddPermission(android.permission.MANAGE_EXTERNAL_STORAGE) SetApplicationAttribute(android:requestLegacyExternalStorage, true) AddPermission(android.permission.READ_EXTERNAL_STORAGE) AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)
این مجوزها توی b4a همیشه داستان های خاصه خودشو داره.
واسه کپی کردن دیتابیس توی حافظه یا خوندن دیتابیس و...
ممنون میشم راهنماییم کنید که از چی باید برای گرفتن مجوز و کپی فایل توی حافظه و... استفاده کنم که فورس کلوز نشه.
ممنون.
لینک ارسال
به اشتراک گذاری در سایت های دیگر
5 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: strong> مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.