i writing android application downloads images off inspire 1. using latest version of sdk (v3.2.1). using djiplaybackmanager this. however, encountering problem downloading images.
whenever run code below, "no files selected" though right above think select files on sd card. error thrown in onerror method in camerafiledownloadcallback. error returned selectallfiles() null, believe means selected correctly. can tell me doing wrong? have tried many things nothing seems work.
any appreciated.
private static string tag = "mediamanager"; public static void downloadallmedia(final context mcontext) { log.d(tag, "downloading media..."); final string filedirpath = mcontext.getfilesdir().getpath(); djibaseproduct product = djidemoapplication.getproductinstance(); if (product != null && product.isconnected()) { if (product instanceof djiaircraft) { final djicamera camera = product.getcamera(); if (camera != null) { camera.setcameramode(djicamerasettingsdef.cameramode.playback, new djibasecomponent.djicompletioncallback() { @override public void onresult(djierror djierror) { if (djierror == null) { final djiplaybackmanager playbackmanager = camera.getplayback(); djicameraerror enterpreviewmodeerror = playbackmanager.entermultiplepreviewmode(); if(enterpreviewmodeerror != null) { log.e(tag, "failed enter mutliple preview mode"); } djicameraerror entereditmodeerror = playbackmanager.entermultipleeditmode(); if(entereditmodeerror != null) { log.e(tag, "failed enter multiple edit mode: " + entereditmodeerror.getdescription()); return; } djierror selectfileserror = playbackmanager.selectallfiles(); if (selectfileserror != null) { log.e(tag, "failed select files on device: " + selectfileserror.getdescription()); return; } else { log.d(tag, "successfully selected media"); } playbackmanager.downloadselectedfiles(new file(filedirpath), new djiplaybackmanager.camerafiledownloadcallback() { @override public void onstart() { log.d(tag, "starting fetch of media"); } @override public void onend() { log.d(tag, "finished downloading media"); } @override public void onerror(exception e) { log.e(tag, "failed downloading media: " + e.getmessage()); } @override public void onprogressupdate(int i) { log.d(tag, "media download drone: " + + "%"); } }); } else { log.e(tag, "could not set camera mode playback"); } } }); } else { log.e(tag, "camera not available"); } } } }
here link equivalent code in dji sample code. once download , run it, can modify line number 112 to
mplaybackmanager.selectallfiles();
once run code press middle button 1st photo
select photos , press download
.
this confirmed have working dji product.
Comments
Post a Comment