بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

مشکل در ساخت فولدر

مدیریت گفتگو
Hossein Lamei Ramandi 10 سال پیش
آخرین تغییر: 10 سال پیش

سلام دوستان

من سعی کردم که با کدنویسی یه پوشه در گوشی ایجاد کنم ولی برنامه در گوشی های بدون کارت حافظه ایجاد نمیشه

در صورتیه که من قبلا با همین کد ها در گوشی بدون کارت حافظه فولدر ایجاد میکردم بدون هیچ مشکلی تو استک زیاد سرچ کردم

اما نتیجه ای حاصل نشد !

ضمنا نسخه اندروید گوشیم 6.0.1

نظرات

Spirit 10 سال پیش
گوشی بدون کارت حافظه منظور مثل نکسوس یا دستگاهی که کارت حافظش خارج شده؟ توی تنظیمات برنامه ببینید دسترسی مربوط فعال شده با نه.
Hossein Lamei Ramandi 10 سال پیش
بله مشکل رو فهمیدم ولی راه حلشو نمیدنم پرمیشن در لیست پرمیشن های برنامه وجود داره ولی فعال نیست نمیدونم چجوری میشه به کاربر این آلرت فعال کردن پرمیشنو نشون داد مثل برنامه اینستا گرام . این مشکل فقط در گوشی خودم وجو داره که بخاطر نسخه اندرویده و روی گوشی با اندروید 5 و پایین تر بدون مشکل اجرا میشه !
Spirit 10 سال پیش
android runtime permission
Pr0gramm3r 10 سال پیش
این دقیقا مشکل من هم هست , چجوری حل شد ؟
محمد 10 سال پیش
منم دقیقا همین مشکل رو دارم نسخه اندروید من 6 هست و فولدر رو برام نمیسازه روی یه نسخه 5 تست کردم درست بود ولی روی یه نسخه 4 دیگه بازم نساخت... کسی نمیدونه چجوری میشه این مشکل رو حل کرد؟؟؟؟؟

پاسخ‌ها 1

محمد 10 سال پیش

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

*** تو نسخه های جدید اندروید فقط گرفتن دسترسی از کاربر موقع نصب و گذاشتن کد توی manifest کافی نیست!!! باید دوباره از کاربر سوال بشه که آیا به این نرم افزار دسترسی میدی که به این چیزهایی که مد نظرش هست دسترسی پیدا کنه یا نه!!!


حالا راه حل چیه؟؟؟؟؟

در قدم اول میاید و توی Oncreate این کد رو میزارید:

  //ask for the permission in android M
        int permission = ContextCompat.checkSelfPermission(this,
                Manifest.permission.WRITE_EXTERNAL_STORAGE);

        if (permission != PackageManager.PERMISSION_GRANTED) {
            Log.i(TAG, "Permission to record denied");

            if (ActivityCompat.shouldShowRequestPermissionRationale(this,
                    Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
                AlertDialog.Builder builder = new AlertDialog.Builder(this);
                builder.setMessage("Permission to access the SD-CARD is required for this app to Download PDF.")
                        .setTitle("Permission required");

                builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {

                    public void onClick(DialogInterface dialog, int id) {
                        Log.i(TAG, "Clicked");
                        makeRequest();
                    }
                });

                AlertDialog dialog = builder.create();
                dialog.show();

            } else {
                makeRequest();
            }
        }

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

  protected void makeRequest() {
        ActivityCompat.requestPermissions(this,
                new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
                REQUEST_WRITE_STORAGE);
    }


    @Override
    public void onRequestPermissionsResult(int requestCode,
                                           String permissions[], int[] grantResults) {
        switch (requestCode) {
            case REQUEST_WRITE_STORAGE: {

                if (grantResults.length == 0
                        || grantResults[0] !=
                        PackageManager.PERMISSION_GRANTED) {

                    Log.i(TAG, "Permission has been denied by user");

                } else {

                    Log.i(TAG, "Permission has been granted by user");

                }
                return;
            }
        }
    }

و تمام

اینم لیست دسترسی ها که میتونید بسته به نیازتون تغییرات توی کد های بالا بدید...

 


نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .