android - Ionic Android 内部共享内存

标签 android ionic-framework cordova-plugins ionic-native

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

Android File System Layout

当尝试附加在 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/

相关文章:

javascript - Cordova InAppBrowser 隐藏时速度较慢

ios - iOS 9.2.1获取webView:didFailLoadWithError-102:Phonegap中的帧加载中断

android - 在使用 RxAndroid 时替代 observables 并且只需要一次值

android - 低平台版本的 StrictMode

javascript - 从 Controller 调用指令

css - 使用位置 :absolute 将 ionic 标题居中

android - Android 的人行横道浏览器抛出 “Only secure origins are allowed” 错误

android - 共享元素和圆形显示

android - 扩展 EditText 以赋予它额外的 "default"功能的正确方法是什么

javascript - 如何输出两个相互依赖的动态变量