رفتن به مطلب
جامعه‌ی برنامه‌نویسان مُدرن ایران
  • 0
androidWithQt

گرفتن مجوز در اپ اندروید تحت Qt


سوال

سلام روز بخیر

من میخوام توی اپلیکیشنم مثلا گالری رو باز کنم و باید اولش permission  بگیرم. وقتی برای بار اول اینکارو می کنم و صفحه ی اجازه گرفتن بالا میاد و من میزنم اجازه دارد برنامه crash می کنه ولی اگه خارج شم و دوباره وارد شم گالری رو باز می کنه.جالب اینه که حالا اگر من مدل permission دیگه مثلا برای تماس تلفنی رو حالا بزنم بدون مشکل انجام میشه حتی برای اولین بار

میخواستم ببینم کسی میدونه مشکل  کجاست؟

ورژنsdk :24.4.1

اندروید گوشی 6 برایgalaxygrandprime+

target api:api28 android 9

توی android manifest هم اضافه کردم permission هارو

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


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

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

پست های پیشنهاد شده

  • 0
در 12 ساعت قبل، androidWithQt گفته است :

سلام روز بخیر

من میخوام توی اپلیکیشنم مثلا گالری رو باز کنم و باید اولش permission  بگیرم. وقتی برای بار اول اینکارو می کنم و صفحه ی اجازه گرفتن بالا میاد و من میزنم اجازه دارد برنامه crash می کنه ولی اگه خارج شم و دوباره وارد شم گالری رو باز می کنه.جالب اینه که حالا اگر من مدل permission دیگه مثلا برای تماس تلفنی رو حالا بزنم بدون مشکل انجام میشه حتی برای اولین بار

میخواستم ببینم کسی میدونه مشکل  کجاست؟

ورژنsdk :24.4.1

اندروید گوشی 6 برایgalaxygrandprime+

target api:api28 android 9

توی android manifest هم اضافه کردم permission هارو

سلام،
بهتر بود نسخه‌ی کیوت رو هم مشخص می‌کردین. به هر حال سعی کنید به نسخه آخر SDK به‌روز‌ رسانی کنید و همچنین تنظیمات نهایی رو روی نسخه‌ی Release و Key رو اعمال کنید. نباید مشکلی داشته باشه مگر اینکه کد‌های شما مشکلی داشته باشند که در این صورت بهتر است یک بار فرایند اجرا رو دیباگ کنید و خطایی که موقع کرش ساطع می‌شه رو بفرستید تا بهتر بتونیم در موردش نظر بدیم.

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
در در 8 مرداد 1398 در 10:57، androidWithQt گفته است :

سلام روز بخیر

من میخوام توی اپلیکیشنم مثلا گالری رو باز کنم و باید اولش permission  بگیرم. وقتی برای بار اول اینکارو می کنم و صفحه ی اجازه گرفتن بالا میاد و من میزنم اجازه دارد برنامه crash می کنه ولی اگه خارج شم و دوباره وارد شم گالری رو باز می کنه.جالب اینه که حالا اگر من مدل permission دیگه مثلا برای تماس تلفنی رو حالا بزنم بدون مشکل انجام میشه حتی برای اولین بار

میخواستم ببینم کسی میدونه مشکل  کجاست؟

ورژنsdk :24.4.1

اندروید گوشی 6 برایgalaxygrandprime+

target api:api28 android 9

توی android manifest هم اضافه کردم permission هارو

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

auto  result = QtAndroid::checkPermission(QString("android.permission.CAMERA"));
if(result == QtAndroid::PermissionResult::Denied){
	QtAndroid::PermissionResultMap resultHash = QtAndroid::requestPermissionsSync(QStringList({"android.permission.CAMERA"}));
	if(resultHash["android.permission.CAMERA"] == QtAndroid::PermissionResult::Denied)
		return 0;
	resultHash = QtAndroid::requestPermissionsSync(QStringList({"android.permission.READ_EXTERNAL_STORAGE"}));
	if(resultHash["android.permission.READ_EXTERNAL_STORAGE"] == QtAndroid::PermissionResult::Denied)
		return 0;	
	resultHash = QtAndroid::requestPermissionsSync(QStringList({"android.permission.WRITE_EXTERNAL_STORAGE"}));
	if(resultHash["android.permission.WRITE_EXTERNAL_STORAGE"] == QtAndroid::PermissionResult::Denied)
		return 0;			
}

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

از این منبع هم می توانید برایاطلاعات بیشتر استفاده نمایید.( QtAndroid Namespace)

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
در در 8 مرداد 1398 در 10:57، androidWithQt گفته است :

سلام روز بخیر

من میخوام توی اپلیکیشنم مثلا گالری رو باز کنم و باید اولش permission  بگیرم. وقتی برای بار اول اینکارو می کنم و صفحه ی اجازه گرفتن بالا میاد و من میزنم اجازه دارد برنامه crash می کنه ولی اگه خارج شم و دوباره وارد شم گالری رو باز می کنه.جالب اینه که حالا اگر من مدل permission دیگه مثلا برای تماس تلفنی رو حالا بزنم بدون مشکل انجام میشه حتی برای اولین بار

میخواستم ببینم کسی میدونه مشکل  کجاست؟

ورژنsdk :24.4.1

اندروید گوشی 6 برایgalaxygrandprime+

target api:api28 android 9

توی android manifest هم اضافه کردم permission هارو

والبته توجه داشته باشید که در SDK های پایینتر از 24 نحوه اجازه دسترسی به محتواها با SDK های بالاتر از 24 متفاوت می باشد، یعنی در SDK های قدیمی نیازی نبود که شما دسترسی ها را در اکتیویتی هندل کنید ولی در SDK های جدید حتما باید برنامه نویس متدهای لازم برای تعیین دسترسی ها را در اکتیویتی اصلی Override کنه!

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

برای مشاهده خطا از log اندروید استفاده کنید در صورتی که موفق نبود یکبار User Debug Mode انجام بدید ویک break Point در سورس کد در نقطه مورد نظر قرار بدید تا خطا را شناسایی کنید.

 در صورتی که بازهم دلیل منطقی پیدا نکردید بهتر Kernel Debug Mode را انجا بدید کافی که از خروجی پردازشگر و همچنین از رم گوشی در هنگام اجرای برنامه خودتون یک فایل Dump تهیه کنید وبا ابزار eclipse memory analyzer فایل مورد نظر را بررسی نمایید.

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


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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

مهمان
پاسخ به این سوال ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از ۷۵ اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به عنوان یک لینک به جای

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


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

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

×
×
  • جدید...