У меня есть фрагмент, в котором у меня есть recyclerview и настройка данных в этом recyclerview с использованием адаптера recycliewiew.
Теперь у меня есть кнопка в элементе списка адаптеров, на который мне нужно проверить разрешение 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 вызывает вызов.
Я также определяю один и тот же метод onRequestPermissionsResult в родительской активности фрагмента и вызывается.
Я не могу удалить действие onRequestPermissionsResult, но хочу вызвать метод фрагмента onRequestPermissionsResult, когда я запрашиваю разрешение от фрагмента. Как я могу это сделать? Я делаю что-то неправильно здесь, пожалуйста, помогите мне, если у кого есть идея здесь.