离子Android内部共享内存

Mat*_*ich 6 android ionic-framework cordova-plugins ionic-native

我正在使用带有$ cordovaFilecordova电子邮件插件的Ionic v1来创建文件,然后将其附加到新电子邮件中.我在任何设备上都有适用于iOS的工作解决方案,但我遇到了Android的一个奇怪问题.

Android文件系统布局

当试图在Android(dataDirectory等)上附加在任何内部存储位置创建的文件时,我收到"拒绝附件的权限".但是,当我将文件保存到外部存储时,附件已成功添加.

我已经使用Android外部存储发布了我的应用程序,但不幸的是,当今一些最流行的设备没有外部存储.

有谁知道解决方案?我已经考虑过变通方法,例如将文件上传到文件托管服务,并在电子邮件中包含下载链接.我会使用$ cordovaFileTransfer,但我不知道内部存储中是否存在权限错误.如果可能的话,我想使用真正的电子邮件附件.谢谢!

Pri*_*ish 3

我认为你的问题与许可有关。我已经为文件附件实现了此功能,以授予文件附件权限,尝试一下希望这对您有帮助。试试这个插件cordova.plugins.permissions

 function checkPermission() {
            var permissions = cordova.plugins.permissions;
            permissions.hasPermission(permissions.READ_EXTERNAL_STORAGE, checkPermissionCallback, null);
        }

function checkPermissionCallback(status) {
            $localStorage.StoragePermission = status.hasPermission;
            if (!status.hasPermission) {
                var permissions = cordova.plugins.permissions;
                permissions.requestPermission(permissions.READ_EXTERNAL_STORAGE, null, null);                
            }
        }
Run Code Online (Sandbox Code Playgroud)