مهدی ایزدی 9,201 ارسال شده در 7 دی، 2016 اشتراک گذاری ارسال شده در 7 دی، 2016 به نام خدا سلام و خسته نباشید خدمت دوستان عزیز بعضی از دسترسی ها یا همون Permission ها توی اندروید 6 یا همون API 23 و به بالا نیاز هستش که کاربر به محض اجرای برنامه اون دسترسی هارو تایید کنه... دسترسی هایی مثل دسترسی به WRITE EXTERNAL STORAGE ... خب اگر شما این کاری که بنده در زیر آموزش میدم رو انجام ندید برنامه ی شما روی اندروید 6 عملکرد WRITE EXTERNAL STORAGE رو انجام نمیده... حتی اگر دسترسی رو از توی Manifest هم اضافه کرده باشید کافی نیست و باید کار زیر او انجام بدید : این دو تا متد رو توی MainActivity در قسمت خارج از OnCreate قرار بدید : @Override public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { switch (requestCode) { case 12234: { // If request is cancelled, the result arrays are empty. if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { //dastrasi dade shode } else { new AlertDialog.Builder(this) .setMessage("برای اجرای برنامه باید حتما دسترسی رو به برنامه بدهید") .setCancelable(false) .setNegativeButton("دادن دسترسی", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { setPermission(); } }) .show(); } return; } } } public void setPermission(){ if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { if (ActivityCompat.shouldShowRequestPermissionRationale(this, android.Manifest.permission.WRITE_EXTERNAL_STORAGE)) { ActivityCompat.requestPermissions(this, new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE}, 12234); } else { ActivityCompat.requestPermissions(this, new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE}, 12234); } } } دقت داشته باشید متد onRequestPermissionResult حالت Override رو داره و متد setPermission حالت عادی ! خب حالا کافی هستش که توی onCreate شما بیایید فقط رویداد setPermission رو فراخوانی کنید یعنی بنویسید : setPermission(); در کنار کارهای بالا یادتون نره که دسترسی لازمه رو توی Manifest هم قرار بدید مثلا: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> نکته: برای دسترسی هایی مثل دسترسی به اینترنت و موقعیت مکانی و اینجور دسترسی هایی نیاز به کار بالا نیست... کسایی که با iPhone کار کردن خیلی بهتر میدونن که چه دسترسی هایی رو موقع اجرا کردن برنامه ها در ابتدای برنامه از کاربر اجازه میگیره خلاصه ی آموزش بالا هم این میشه که کاربر ملزم هستش برای استفاده از برنامه یک پیغام براش نمایش داده میشه واسه دسترسی که باید تاییدش کنه آموزشی که داده شد روی اندروید 6 پیغام زیر رو به همراه داره : کاملا اختصاصی از انجمن برنامه نویسی AnswerCenter.IR لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
امین پوراباذری 1,043 ارسال شده در 7 دی، 2016 اشتراک گذاری ارسال شده در 7 دی، 2016 استاد بهتره که فعلا تارگت رو روی 21 یا 22 بگذارن که مشکل اجرای دسترسی های خطرناک رو نداشته باشن فعلا این من پیشنهاد میکنم چون هنوز برای کاربرای ایرانی جا نیافتاده ازش اجازه بگیری معمولا رد میکنن این اجازه ها رو و برنامه با اخلال روبه رو میشه ولی وقتی تارگت روی 21 یا 22 باشه دیگه نیاز به اجازه گرفتن نیست لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
مهدی ایزدی 9,201 ارسال شده در 7 دی، 2016 مالک اشتراک گذاری ارسال شده در 7 دی، 2016 در 11 دقیقه قبل، امین پوراباذری گفته است : استاد بهتره که فعلا تارگت رو روی 21 یا 22 بگذارن که مشکل اجرای دسترسی های خطرناک رو نداشته باشن فعلا این من پیشنهاد میکنم چون هنوز برای کاربرای ایرانی جا نیافتاده ازش اجازه بگیری معمولا رد میکنن این اجازه ها رو و برنامه با اخلال روبه رو میشه ولی وقتی تارگت روی 21 یا 22 باشه دیگه نیاز به اجازه گرفتن نیست حرف شما از جهاتی درسته اما کسایی که اندروید 6 دارن کاملا با این دسترسی ها آشنا هستند... شما مثلا روی آیفون حتی Instagram رو هم که بخوای نصب کنی باز ازت برای هر کاری در دفعه اول اجازه دسترسی رو میگیره دسترسی به گالری دسترسی به دوربین دسترسی به مثلا ضبط صدا و خیلی موارد دیگه... فرهنگ باید جا بیوفته... فکر نمیکنم این موضوع برای کسایی که اندروید 6 دارن ملموس نباشه و دسترسی رو ندن... بدون شک allow رو خواهند زد لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mr.saymon 0 ارسال شده در 12 اسفند، 2018 اشتراک گذاری ارسال شده در 12 اسفند، 2018 سلام و وقت بخیر در بیسیک چجور هستش کدها ؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
M-CAP7AIN 534 ارسال شده در 12 اسفند، 2018 اشتراک گذاری ارسال شده در 12 اسفند، 2018 در 41 دقیقه قبل، mr.saymon گفته است : سلام و وقت بخیر در بیسیک چجور هستش کدها ؟ تاپیک جدید بزنید ، یا سرچ کنید داخل انجمن Android Tutorial - Runtime Permissions (Android 6.0+ Permissions) | B4X Community - Android, iOS, desktop, server and IoT programming tools لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسال های توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.