alireza123

خطا در گرفتن مجوز ران تایم در اندروید 6 به بالا

2 ارسال در این موضوع قرار دارد

سلام 

من کد مربوط به گرفتن مجوز دسترسی ران تایم رو استفاده کرده ام ولی تو اندروید 6 به بالا خطا میده . 

کدهاش زیره و قسمت خطا رو ندارم چون دسترسی به اندروید 6 ندارم

private void askForPermission(String permission, Integer requestCode) {
    if (ContextCompat.checkSelfPermission(Create.this, permission) != PackageManager.PERMISSION_GRANTED) {

        // Should we show an explanation?
        if (ActivityCompat.shouldShowRequestPermissionRationale(Create.this, permission)) {

            //This is called if user has denied the permission before
            //In this case I am just asking the permission again
            ActivityCompat.requestPermissions(Create.this, new String[]{permission}, requestCode);

        } else {

            ActivityCompat.requestPermissions(Create.this, new String[]{permission}, requestCode);
        }
    } else {
        // Toast.makeText(getActivity(), "" + permission + " is already granted.", Toast.LENGTH_SHORT).show();
        //   selectImage();
    }
}

کد onRequestpermissionResult هم به صورت زیر هستش

@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    if(ActivityCompat.checkSelfPermission(Create.this, permissions[0]) == PackageManager.PERMISSION_GRANTED){
        switch (requestCode) {
            //Location

            case 1:


        }
        //  selectImage();
        // Toast.makeText(getActivity(), "Permission granted", Toast.LENGTH_SHORT).show();
    }else{
        Toast.makeText(Create.this, "امکان صدور این مجوز وجود ندارد", Toast.LENGTH_SHORT).show();
    }
}

وقتی که تابع askForPermisstion  فراخوانی میکنی تو اندروید 6 به بالا برای اولین بار خطا میده و بعدش مجوز گرفته میشه.

askForPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE, WRITE_EXST);
askForPermission(Manifest.permission.READ_EXTERNAL_STORAGE, READ_EXST);
askForPermission(Manifest.permission.CAMERA, CAMERA);

 

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


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

از این کد استفاده کنید

 

private int REQUEST_INTERNET = 1;

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED)) {

            requestPermissions(new String[]{
                    android.Manifest.permission.WRITE_EXTERNAL_STORAGE
                    , android.Manifest.permission.READ_EXTERNAL_STORAGE
                    , android.Manifest.permission.READ_PHONE_STATE
            }, REQUEST_INTERNET);

        }


 

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


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

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری