我正在使用 Ionic v1与 $cordovaFile和 cordova email plugin创建文件,然后将其附加到新电子邮件。我在任何设备上都有适用于 iOS 的有效解决方案,但我在 Android 上遇到了一个奇怪的问题。
当尝试附加在 Android 上的任何内部存储位置(dataDirectory 等)中创建的文件时,我收到“附件权限被拒绝”。但是,当我将文件保存到外部存储时,附件已成功添加。
我已经使用外部存储为 Android 发布了我的应用程序,但不幸的是,当今一些最流行的设备没有外部存储。
有人知道解决办法吗?我考虑过变通办法,例如将文件上传到文件托管服务,并在电子邮件中包含下载链接。我会用 $cordovaFileTransfer ,但我不知道内部存储是否会出现权限错误。如果可能,我想使用真正的电子邮件附件。谢谢!
最佳答案
我认为您的问题与权限有关。
我已经为文件附件实现了这个以授予文件附件的权限尝试它希望这对你有帮助。试试这个插件 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);
}
}
关于android - Ionic Android 内部共享内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46082078/