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

runtimePermission مشکل


hosseinkarimian

سوال

 

 با سلام دوستان من از کتابخانه Hotspotlib برای روشن و خاموش کردن نقطه اتصال استفاده کردم و در اندروید های زیر 6 که اندورید 5 و 4 و... به خوبی کار می کند ولی در اندروید 6 کار نمی کند . دلیل هم این هست که در اندروید 6 مجوز می خواهد چگونه باید این مجوز را در اندوزید 6 بدهم که این خطا را می دهد(SecurityException) java.lang.SecurityException:b4a.example was not granted  this permission: android.permission.WRITE_SETTINGS. b4a

 

مثلا مترجم گوگل یا تلگرام؛ واتساپ و... وقتی می خواهیم

صدایی ضبط و ارسال کنیم ابتدا پنجره ای کوچک باز می شود و باید کاربر به مترجم گوگل مجوز ضبط صدا را بدهد بعد صدا راضبط و ارسال .

مثل این تصویر

http://s8.picofile.com/file/8277415500/Screenshot_۲۰۱۶۱۲۰۵_۲۱۵۰۰۵.png

 

و  از runtime permision  اسفاده کردم که  فقط  پرمیژن های که خود کتابخانه runtime permision  دارد استفاده می شود ودرست عمل می کند . ولی سایر پرمیژن هایی که در کتابخانه runtime permision  موجود نیست کار نمی کند  مثل این پرمیژن زیر 

 



runtimePermission.CheckAndRequest("android.permission.WRITE_SETTINGS")


Sub Activity_PermissionResult (Permission As String, Result As Boolean)
	If Permission="android.permission.WRITE_SETTINGS" Then
		ToastMessageShow(Result,False)
		
	End If

End Sub

 

-----------------------------------------------------------------------------------------------------------------------------

 

یک روش دیگر هم هست استفاده از کلاس (mPermission) MarshmallowPermission

که سورس رو پیوست کردم این کتابخانه بعد از اینکه کاربر اجازه به برنامه داد خطا می دهد

سورس این روش

دانلود سورس

 

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

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

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

در 12 ساعت قبل، امین پوراباذری گفته است :

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

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

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

در 6 ساعت قبل، maxnet13 گفته است :

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

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

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

در 4 ساعت قبل، maxnet13 گفته است :

 

 با سلام دوستان من از کتابخانه Hotspotlib برای روشن و خاموش کردن نقطه اتصال استفاده کردم و در اندروید های زیر 6 که اندورید 5 و 4 و... به خوبی کار می کند ولی در اندروید 6 کار نمی کند . دلیل هم این هست که در اندروید 6 مجوز می خواهد چگونه باید این مجوز را در اندوزید 6 بدهم که این خطا را می دهد(SecurityException) java.lang.SecurityException:b4a.example was not granted  this permission: android.permission.WRITE_SETTINGS. b4a

 

مثلا مترجم گوگل یا تلگرام؛ واتساپ و... وقتی می خواهیم

صدایی ضبط و ارسال کنیم ابتدا پنجره ای کوچک باز می شود و باید کاربر به مترجم گوگل مجوز ضبط صدا را بدهد بعد صدا راضبط و ارسال .

مثل این تصویر

http://s8.picofile.com/file/8277415500/Screenshot_۲۰۱۶۱۲۰۵_۲۱۵۰۰۵.png

 

و  از runtime permision  اسفاده کردم که  فقط  پرمیژن های که خود کتابخانه runtime permision  دارد استفاده می شود ودرست عمل می کند . ولی سایر پرمیژن هایی که در کتابخانه runtime permision  موجود نیست کار نمی کند  مثل این پرمیژن زیر 

 




runtimePermission.CheckAndRequest("android.permission.WRITE_SETTINGS")


Sub Activity_PermissionResult (Permission As String, Result As Boolean)
	If Permission="android.permission.WRITE_SETTINGS" Then
		ToastMessageShow(Result,False)
		
	End If

End Sub

 

-----------------------------------------------------------------------------------------------------------------------------

 

یک روش دیگر هم هست استفاده از کلاس (mPermission) MarshmallowPermission

که سورس رو پیوست کردم این کتابخانه بعد از اینکه کاربر اجازه به برنامه داد خطا می دهد

سورس این روش

دانلود سورس

 

فعلا بهتره شما تارگت رو روی 22 و یا 21 بگذارید . تا نیاز به اجازه برای دسترسی های خطرناک نداشته باشید . از دید بنده فعلا زوده سمت این قضیه رفت که از کاربرها اجازه گرفت برای ران کردن دسترسی ها چون هنوز کاربرهای زیادی نیستن که اندورید 6 داشته باشن و هنوز با این قضیه آشنا نیستن و اگر بخوان دسترسی رو رد بدن شما دوباره باید دنبال راه های جایگزین باشید پس بهتره فعلا تارگت رو روی 22 بگذارید.

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

در 6 ساعت قبل، امین پوراباذری گفته است :

فعلا بهتره شما تارگت رو روی 22 و یا 21 بگذارید . تا نیاز به اجازه برای دسترسی های خطرناک نداشته باشید . از دید بنده فعلا زوده سمت این قضیه رفت که از کاربرها اجازه گرفت برای ران کردن دسترسی ها چون هنوز کاربرهای زیادی نیستن که اندورید 6 داشته باشن و هنوز با این قضیه آشنا نیستن و اگر بخوان دسترسی رو رد بدن شما دوباره باید دنبال راه های جایگزین باشید پس بهتره فعلا تارگت رو روی 22 بگذارید.

با سلام برنامه رو قبلا روی تارگت ۲۳ قرار داده بودم حالا بخوام بروز رسانی کنم اگر تارگت ۲۲ یا تارگت  تغییر بدم  و نصب نمیشه باید روی گوشی حذف کرد و نسخه جدید نصب کرد ولی اگر تارگت تغییر ندم به راحتی بروز رسانی میشه و نیازی به حذف نداره.

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

در 6 ساعت قبل، maxnet13 گفته است :

با سلام برنامه رو قبلا روی تارگت ۲۳ قرار داده بودم حالا بخوام بروز رسانی کنم اگر تارگت ۲۲ یا تارگت  تغییر بدم  و نصب نمیشه باید روی گوشی حذف کرد و نسخه جدید نصب کرد ولی اگر تارگت تغییر ندم به راحتی بروز رسانی میشه و نیازی به حذف نداره.

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

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

در 2 ساعت قبل، امین پوراباذری گفته است :

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

باسلام امضاء دیجیتال درسته و شماره پکیچ بردم بالا ببینید اگر تارگت که ۲۳ در نسخه قبلی بود در این نسخه جدید تغییر بدم با بروز رسانی نصب نمیشه ولی اگر تارگت تغییر ندم به راحتی نصب میشه.

 

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

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

باسلام امضاء دیجیتال درسته و شماره پکیچ بردم بالا ببینید اگر تارگت که ۲۳ در نسخه قبلی بود در این نسخه جدید تغییر بدم با بروز رسانی نصب نمیشه ولی اگر تارگت تغییر ندم به راحتی نصب میشه.

 

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

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

بایگانی شده

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

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

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