Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 19.01.2012, 17:08
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 1  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
По умолчанию [Android] Как получить ссылку на сохраненное изображение?

Удивительные вещи - нет нигде инфы. Создаю камера ролл и сохраняю созданное изображение. Но как потом получить на него ссылку, чтобы допустим расшарить? Пробовал как-нибудь подключить MediaPromise - безрезультатно.

Код AS3:
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);
				}
			}
onComplite вообще не вызывается.

Старый 19.01.2012, 18:11
Wolf вне форума Посмотреть профиль Отправить личное сообщение для Wolf Найти все сообщения от Wolf
  № 2  
Ответить с цитированием
Wolf

Регистрация: Jun 2011
Сообщений: 83
Записей в блоге: 1
если он не вызывается значить что тоо не так. вы уверены что оно сохраняется?

Старый 19.01.2012, 18:20
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 3  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Цитата:
вы уверены что оно сохраняется?
Конечно. В галерее появляется моя картинка.
Все работает, если юзать browseForImage, но мне этого не нужно. Мне нужно создать новое изображение (например сделать коллаж из разных элементов), сохранить его в Camera Roll и сразу получить ссылку на изображение чтобы расшарить.

Если делать cr.addEventListener(Event.COMPLETE, onComplite); то обработчик вызывается, но мне нужен именно MediaEvent чтобы передать данные MediaPromise.

Если знаете как по другому решить задачу, то посоветуйте пожалуйста.

Можно, конечно, сохранять изображение как файл на устройстве, соответственно ссылка на файл будет, и потом уже предлагать юзеру что с этим файлом делать: сохранить в галерее, расшарить или то и другое. Но мне пока важно понять почему не работает именно предложенный вариант.

Старый 20.01.2012, 17:41
Wolf вне форума Посмотреть профиль Отправить личное сообщение для Wolf Найти все сообщения от Wolf
  № 4  
Ответить с цитированием
Wolf

Регистрация: Jun 2011
Сообщений: 83
Записей в блоге: 1
попробуй MediaEvent.INIT

Старый 21.01.2012, 01:11
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 5  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Попробую, но я уже нашел другое решение по подсказке с адобовского форума.
Решение корявое, но работает. Добавляем картинку в CameraRoll а потом ищем там последний добавленный файл и сохраняем его путь.

Код AS3:
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.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 20:23.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.