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