Вопросы по тегу: android-6.0-marshmallow

(1)

onRequestPermissionsResult не вызывается во фрагменте, если он определен как во фрагменте, так и в действии

У меня есть фрагмент, в котором у меня есть recyclerview, и данные настройки в этом recyclerview с использованием адаптера recyclerview.Теперь у меня есть кнопка в элементе списка адаптера, при нажатии на которую мне нужно проверить разрешение READ_EXTERNAL_STORAGE в android для новой модели разрешений в android.Я создал новую функцию во фрагменте этого адаптера, чтобы проверить, предоставлено ли разрешение или нет, и запросить разрешение, если оно еще не предоставлено.Я передал MyFragment.this в качестве параметра адаптера и вызвал метод фрагмента при нажатии кнопки в адаптере.Я использовал приведенный ниже код для вызова requestPermission во фрагменте.if(ContextCompat.checkSelfPermission(mContext, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){ requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, ConstantVariables.READ_EXTERNAL_STORAGE); } Я переопределил метод onRequestPermissionsResult во фрагменте, используя следующий код:@Override public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { switch (requestCode) { case ConstantVariables.READ_EXTERNAL_STORAGE: // If request is cancelled, the result arrays are empty. if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { // permission was granted, proceed to the normal flow. startImageUploading(); } else {} Но он не вызывается, вместо этого вызывается метод onRequestPermissionsResult этого Activity.Я определил тот же метод onRequestPermissionsResult в родительской активности фрагмента, и он вызывается.Я не могу удалить метод onRequestPermissionsResult действия, но хочу вызвать метод onRequestPermissionsResult фрагмента, когда я запрашиваю разрешение у фрагмента. Как я могу это сделать? Я здесь что-то не так делаю, пожалуйста, помогите мне, если у кого-нибудь есть идеи.
P

Prithniraj Nicyone

6 лет назад

Ответов: 17

2022 WebDevInsider