|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
[Android] Как получить ссылку на сохраненное изображение?
Удивительные вещи - нет нигде инфы. Создаю камера ролл и сохраняю созданное изображение. Но как потом получить на него ссылку, чтобы допустим расшарить? Пробовал как-нибудь подключить MediaPromise - безрезультатно.
cr = new CameraRoll(); cr.addEventListener(MediaEvent.COMPLETE, onComplite); cr.addBitmapData(bitmapData); protected function onComplite(event:MediaEvent):void { infoText.text += String ("onComplite"); var mp:MediaPromise = event.data; if (mp.file == null){ infoText.text += String ("null"); } else { infoText.text += String (mp.relativePath + "+++" + mp.file.nativePath); } } |
|
|||||
Цитата:
Все работает, если юзать browseForImage, но мне этого не нужно. Мне нужно создать новое изображение (например сделать коллаж из разных элементов), сохранить его в Camera Roll и сразу получить ссылку на изображение чтобы расшарить. Если делать cr.addEventListener(Event.COMPLETE, onComplite); то обработчик вызывается, но мне нужен именно MediaEvent чтобы передать данные MediaPromise. Если знаете как по другому решить задачу, то посоветуйте пожалуйста. Можно, конечно, сохранять изображение как файл на устройстве, соответственно ссылка на файл будет, и потом уже предлагать юзеру что с этим файлом делать: сохранить в галерее, расшарить или то и другое. Но мне пока важно понять почему не работает именно предложенный вариант. |
|
|||||
Попробую, но я уже нашел другое решение по подсказке с адобовского форума.
Решение корявое, но работает. Добавляем картинку в CameraRoll а потом ищем там последний добавленный файл и сохраняем его путь. protected function saveCameraRoll(event:MouseEvent):void{ var cr:CameraRoll = new CameraRoll(); cr.addEventListener(Event.COMPLETE, onComplite); cr.addBitmapData(bitmapData); } protected function onComplite(event:Event):void { var cDir:String = File.documentsDirectory.resolvePath("DCIM/Camera/").nativePath; var cameraDir:File = new File(cDir); var files:Array = new Array(); files = cameraDir.getDirectoryListing(); files.sortOn("creationDate", Array.NUMERIC); // sorting array var newFile:File = new File(); newFile = files[files.length-1] as File; var newPhoto:Object = new Object(); newPhoto.fileName = newFile.name; newPhoto.url = newFile.url; navigator.pushView(views.ShareImageView, newPhoto); } |
Часовой пояс GMT +4, время: 20:23. |
|
« Предыдущая тема | Следующая тема » |
|
|