当前位置: 首页 > 知识库问答 >
问题:

为什么$CordovaimagePicker插件在Marshmallow上崩溃了?

窦凯定
2023-03-14
$cordovaImagePicker.getPictures(options).then(function (results) {
    for (var i = 0; i < results.length; i++) {
        $scope.imagePath = results[i];
    }
}, function(error) {
    console.log('Error: ' + JSON.stringify(error));
});

有人帮忙吗?

共有1个答案

吕新
2023-03-14

在花了更多的时间之后,我发现Android Marshmallow有不同的权限机制,它在运行时请求权限,所以它需要得到满足。下面是代码

var permissions = cordova.plugins.permissions;
permissions.hasPermission(permissions.READ_EXTERNAL_STORAGE, 
            function(status) {
               if (status.hasPermission) {
                   $cordovaImagePicker.getPictures(options).then(function (results) {
                        for (var i = 0; i < results.length; i++) {
                            $scope.imagePath = results[i];
                        }
                    }, function(error) {
                          console.log('Error: ' + JSON.stringify(error));    // In case of error
                    });
                } else {
                  //permission is not granted case, now preparing for granting permission
                    permissions.requestPermission(
                        permissions.READ_EXTERNAL_STORAGE,
                        function(status) {
                          if(!status.hasPermission) {
                            console.log();
                          }
                        },
                        function(status) {
                            console.log();
                        }
                    );                      
                }
           }, function(status) {
              console.log("permission not available");
            });

首先,我检查是否授予了权限,如果没有授予权限,然后请求权限。如需更多详细信息,请参阅以下链接

https://www.npmjs.com/package/cordova-plugin-android-permissions

 类似资料:
  • 我的MapActive在低API手机上崩溃了。在我的LG G4上没有崩溃。为什么会这样? 这是我的代码: 日志中的错误显示: 致命异常:主进程:com.giladneiger.clubber,PID:22389java.lang.运行时异常:无法启动活动组件信息{com.giladneiger.clubber/com.giladneiger.clubber.MapsActivity}:java.l

  • 该应用程序在API26模拟器中运行良好,没有任何意外行为,但在API23中崩溃。当应用程序启动时。我对android相当陌生,所以不太确定要做什么改变来适应API23。 这是我的年级

  • 我在一个片段中遇到了一个问题,该片段从新的Google Maps API中嵌入了SuportMapFragment。当创建我的片段时,它从方法开始,在中获取一些数据。当这种情况发生时,MapFragment保持在屏幕外,而是显示进度条。 完成后,我向MapView的事件注册。然后我显示片段,这导致地图视图被显示和布局。被触发,动画开始。 多谢!

  • 我第一次试着用docker。我需要它使selenium在服务器上运行。所以我可以把这个脚本放到任何一台服务器上,这样就可以毫不费力地工作了。但是突然间它就不起作用了,它就不起作用了。我试着在谷歌上搜索,但什么都没有。现在我在这里寻求帮助。也许我错过了什么,也许我把事情搞砸了,现在我看到了解决办法。解决方案是下载chromedriver,拒绝独立运行selenium。 开始硒 Dockerfile去

  • 在我的应用程序中,我已经授予了的权限,并且它正在顺利地检测接收/offhook/idle统计信息。 更新 这是Logcat错误: 04-26 04:55:04.422 140 6-2091/?W/Audio_HW_Generic:没有向哈尔提供足够的数据,预期位置为1097356,只写了1097280 04-26 04:55:04.434 506 5-5065/?d/AndroidRuntime:

  • 我想网页搜索。我使用ubuntu 20.04,python 3.8,selenium,ChromeDriver。但是为什么ChromeDriver崩溃了?版本有问题吗? 我尝试过各种Chrome选项,-没有沙盒,-禁用gpu,-禁用dev-shm使用,但没有改变。 密码 环境 错误信息 pip列表 pip冻结 我还应该尝试什么?