我是集成$ cordovaImagePicker,它在kit kat和棒棒糖上工作正常,但最近我安装了它在Marshmallow上崩溃的相同应用程序 . 以下是我使用的代码:
$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));
});
java.lang.SecurityException:Permission Denial:读取com.android.providers.media.MediaProvider uri content:// media / external / images / media from pid = 10669,uid = 10319需要android.permission.READ_EXTERNAL_STORAGE或grantUriPermission( )在android.content.ContentProvider的android.content.ContentProvider.enforceReadPermissionInner(ContentProvider.java:605)上的$ . Transport.enforceReadPermission(ContentProvider.java:480)在android.content.ContentProvider $ Transport.query(ContentProvider.java:211)在Android.os.Binder.execTransact(Binder.java:453)的android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112)
有帮助吗?
1 回答
花了一些时间后,我发现Android Marshmallow有不同的许可机制,它在运行时请求许可,所以需要照顾它 . 下面是代码
首先,如果未授予许可,我会检查是否授予权限,然后请求许可 . 有关下面的详细信息,链接可能会有所帮
https://www.npmjs.com/package/cordova-plugin-android-permissions