我一直在尝试将图片从设备库上传到外部服务器,但是我收到了这个错误:
04-18 12:11:25.680: W/System.err(19045): java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaDocumentsProvider uri content://com.android.providers.media.documents/document/image26952 from pid=19045, uid=10243 >requires android.permission.MANAGE_DOCUMENTS, or grantUriPermission()
我在Android Manifest中添加了此权限,但它没有改变任何内容。此外,我可以毫无困难地加载图像并显示它们,只是上传部分失败了。
这是我的代码:
function uploadPhoto(src) {
var options = new FileUploadOptions();
options.fileKey="file";
options.fileName=src.substr(src.lastIndexOf('/')+1);
var ft = new FileTransfer();
ft.upload(src, encodeURI("http://xxxx/upload.php"), win, fail, options);
}
我有android kitkat最新版本,我在Nexus 5上运行它.Phonegap版本是3.3。
关于如何处理此错误的任何想法?
谢谢。
PS:这是android清单xml
中的权限<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MANAGE_DOCUMENTS" />
<uses-permission android:name="android.permission.RECORD_VIDEO" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-feature android:name="android.hardware.telephony" android:required="false" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.MANAGE_DOCUMENTS" />
<uses-permission android:name="android.permission.INTERNET" />
答案 0 :(得分:-1)
您需要在manifest.xml文件中设置此权限
<uses-permission android:name="android.permission.INTERNET" />