En esta publicación de blog, aprenderá cómo solicitar permiso de escritura y lectura en los archivos de ANDROID utilizando el framework IONIC 6 & CAPACITOR .

Lo primero que debemos de instalar las siguientes dependencias requeridas.

$ npm install cordova-plugin-android-permissions 
$ npm install @awesome-cordova-plugins/android-permissions 
$ ionic cap sync

En nuestro archivo app.module.js agregamos la siguiente importación.

import { AndroidPermissions } from '@awesome-cordova-plugins/android-permissions/ngx';

Continuando editando nuestro archivo app.module.js agregamos AndroidPermissions en el apartado de providers mas o menos quedara así:

providers: [
    {
        provide: RouteReuseStrategy,
        useClass: IonicRouteStrategy
    },
    AndroidPermissions
],

Cuando ya hayamos terminar de actualizar el archivo app.module.js nos dirijamos hacia donde queremos solicitar el permiso por ejemplo, para el archivo home.page.ts 

import {Component, OnInit} from '@angular/core';
import {AndroidPermissions} from '@awesome-cordova-plugins/android-permissions/ngx';

@Component({
    selector: 'app-home',
    templateUrl: 'home.page.html',
    styleUrls: ['home.page.scss']
})
export class HomePage implements OnInit{

    constructor(private androidPermissions: AndroidPermissions) {
    }

    async ngOnInit() {
        this.requestPermission();
    }

    requestPermission() {
        this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.READ_EXTERNAL_STORAGE)
            .then((result) => {
                    if (result.hasPermission) {
                        console.log('Nuestro código');
                    } else {
                        this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.READ_EXTERNAL_STORAGE).then(result => {
                            if (result.hasPermission) {
                                console.log('hasPermission');
                            }
                        });
                    }
                },
                err => {
                    this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.READ_EXTERNAL_STORAGE);
                }
            );
    }
    
}

y con esto finalizamos esta entrada.