Перейти к содержанию
Fire Monkey от А до Я
  • 0

Открытие "своего" файла из приложения


Сергей Сергеев

Вопрос

Привет всем!

В приложении сохраняю файл в Documents,

В андроид, воспользовавшись методом описанным здесь открывается выбор приложения по MIME типу файла - и после сам файл выбранным приложением.

в IOS уже третий день сделать нечто подобное не удается..

1. метод - много где повторен , на вход URL строка начинающаяся с 'file:/'+ путь

{$IFDEF IOS}
var
  NSU: NSUrl;
  urlt : string;
begin

   // iOS doesn't like spaces, so file encode is important.
        NSU := TNSURL.Wrap (TNSURL.OCClass.URLWithString (StrToNSStr
            (PChar (URL))));

  if SharedApplication.canOpenURL(NSU) then  begin
     toast('NSU '+NSUrlToStr(   NSU));
    exit(SharedApplication.openUrl(NSU));

  end
  else
  begin
    if DisplayError then
      ShowMessage('Error: Opening "' + URL + '" not supported.');
    exit(false);
  end;
end;


 {$ELSE}

toast срабатывает и больше ничего.. без ошибок..

если заменить SharedApplication.openUrl(NSU) -> WebBrowser1.Navigate(url) - то файл открывается ( в данном случае - картинка jpg )

т.е. файл на месте и доступен..

нашел тут тему http://fire-monkey.ru/topic/2115-airdrop-или-новая-кнопка-open-in-в-ios9-решено/

открыть в .. по идее то что нужно, как в Андроид, но что то не работает..

на вход Share - подал Panel (?) и путь к файлу, пробовал и с 'file://' и без - молча не работает, на панели ничего, пошагово прошел, вроде нормально все ..

кто пробовал этот метод  - jpg? html? pdf должен открывать? т.е. предлагать приложения для открытия?

правда там написано для IOS 9, пробую в 10..

вообщем пока единственное что сработало - это открыть в TWebBrowser - неужели как в андроид - выбор приложения для открытия по миме типу нельзя сделать?

 

 

 

 

 

Ссылка на комментарий

Рекомендуемые сообщения

  • 0
В 19.01.2017 в 14:43, wamaco сказал:

в iOS либо открывать через WebBrowser, либо пользователь сам решает, через кнопку "Поделиться", через что открыть файл...

 

эту кнопку в приложении можно нажать? чтобы пользователь выбирал дальше чем хочет открыть?

Ссылка на комментарий
  • 0
В 20.01.2017 в 00:58, Fedor K сказал:

Для открытия файла лучше пользоваться не:


TNSURL.Wrap (TNSURL.OCClass.URLWithString (StrToNSStr
            (PChar (URL))));

а:


TNSUrl.Wrap(TNSUrl.OCClass.fileURLWithPath(StrToNSStr(path)));

 

не открывает и так тоже..

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...