Jump to content
View in the app

A better way to browse. Learn more.

FGX Native

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

1.4.2.0 Русский

Featured Replies

  • Administrators

Скачать:
Релиз доступен только по запросу.

Дата релиза:

23 июля 2020

Список изменений:

* Добавлен новый сервис для осуществления телефонных звонков FGX.PhoneDialer:

  - Перед вызовом необходимо запросить разрешение 'android.permission.CALL_PHONE' через TfgPermissionService.
  - Телефонный вызов осуществляется прямым вызовом метода TfgPhoneDialer.Call('Телефонный номер').
  - Добавлен демо-пример: "Системные сервисы" -> "Осуществление телефонного звонка"

* Реализованы новые типы диалогов TfgDialogs:

  - Добавлен новый метод TfgDialogs.InputBox для ввода одного текстового значения.
  - Добавлен новый метод TfgDialogs.InputQuery для ввода нескольких текстовых значений.

* Сервис системных разрешений:

  - Добавлен вспомогательный метод проверки разрешения TfgPermissionService.CheckPermissionOrRaise предназначенный для проверки инварианта.

* Java-Delphi мост:

  - Добавлены хелперы для конвертации String <-> JUri (JUriToString, StringToJUri).
  - Исправлена утечка памяти при использовании Java листенеров, которая могла приводить в определенных ситуациях к падению приложения при закрытии.

* TfgCamera:

  - Исправлена проблема получения фотографии на некоторых моделях телефонах.
  - [Demo] CameraPhotoDemo cannot take photo
    https://forum.fgx-native.com/topic/327-demo-cameraphotodemo-cannot-take-photo/

* TfgEdit:

  - Поправил отображение свойства Color в инспекторе объектов. Теперь оно отображает название ресурса цвета по умолчанию, если используется тема.

* TfgDateEdit, TfgTimeEdit:

  - Поправил отступы у кнопки выбора даты в дизайнере. Теперь компонент выглядит в дизайнере так же, как и на устройстве.

* TfgListMenu:

  - Исправлена ошибка использования TfgListMenu на 10.4, которая приводила к падению приложения.

* TfgPageControl:

  - Не работает PageControl Swipe если..
    https://forum.fgx-native.com/topic/342-%D0%BD%D0%B5-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82-pagecontrol-swipe-%D0%B5%D1%81%D0%BB%D0%B8/

* Менеджер ресурсов:

  - Удаление менеджера ресурсов теперь выполняется безопаснее. Если пользователь забыл удалить формы при закрытии приложения, это может привести к проблемам удаления платформы FGX Native. Теперь при такой ситуации, он напечатает в лог сообщение об этом.

* Новые демо проекты:

  - "Android Api" -> "Сервис поделиться"
  - "Системные сервисы" -> "Осуществление телефонного звонка"

Здравствуйте Ярослав, в сервисе поделиться не все приложения поддерживающие шаринг отображаются. это может с чем то быть связанно? именно не отображается Instagram . 

@r3h0soft это зависит от инстаграмма. Попробуйте с другой программы сделать шаринг, должен тот же самый список выйти. Возможно инстаграм не предполагает прием информации извне.

11 минут назад, knsg12 сказал:

@r3h0soft это зависит от инстаграмма. Попробуйте с другой программы сделать шаринг, должен тот же самый список выйти. Возможно инстаграм не предполагает прием информации извне.

Предполагает, поэтому и возник вопрос)

  • Author
  • Administrators

По идеи код в демке такой же. Единственное, судя по доке, текст Instagram теперь не принимает, только изображение. Все вопросы к Instagram API: https://developers.facebook.com/docs/instagram/sharing-to-feed

String type = "image/*"; 
String filename = "/myPhoto.jpg"; 
String mediaPath = Environment.getExternalStorageDirectory() + filename; 

createInstagramIntent(type, mediaPath); 

private void createInstagramIntent(String type, String mediaPath){ 
  // Create the new Intent using the 'Send' action. 
  Intent share = new Intent(Intent.ACTION_SEND); 
  // Set the MIME type share.setType(type); 
  // Create the URI from the media File media = new File(mediaPath); 
  Uri uri = Uri.fromFile(media); 
  // Add the URI to the Intent. 
  share.putExtra(Intent.EXTRA_STREAM, uri); 
  // Broadcast the Intent. 
  startActivity(Intent.createChooser(share, "Share to")); 
}

Так что должно все работать. Почему не работает, не знаю.

  • Author
  • Administrators

Похоже нашел причину. В демке подставляются все IME типы. Надо поправить:

Заменить код:

function TfgShareManager.GetMimeTypes: string;
var
  DataType: TfgDataType;
begin
  Result := string.Empty;
  for DataType in [Low(TfgDataType)..High(TfgDataType)] do
    Result := Result + IMEValues[DataType];
end;

На:

function TfgShareManager.GetMimeTypes: string;
var
  DataType: TfgDataType;
begin
  Result := string.Empty;
  for DataType in FDataTypes do
    Result := Result + IMEValues[DataType];
end;

И все работает теперь:

photo_2020-07-27_01-29-52.jpg

P.S. Демку поправил.

  • 4 weeks later...

А как можно поделиться местоположением? И второй вопрос, как ограничить список приложений с которыми я хочу поделиться? Допустим я хочу открыть ссылку о местоположении в 2ГИСе и как то перегруженно, когда выходит куча приложений. Или была бы возможность как то сообщить чтобы показало только программы работающие с картами и т.д.

Есть оказывается свойство  TfgLabel.LinksTypes, но тут есть два вопроса:

1. Из всего набора типов ссылок у меня сработало только два Телефон и Веб ссылка, остальные (Почта, Адрес и Календарь) не реагируют (они не работают?).

2. В принципе ссылка на адрес работает как надо, пытается открыть внешнее приложение для отображения карты, но как тогда сделать, чтобы пользователь не видел ссылку, а только текст адреса, а при переходе открывалась ссылка? 

  • Author
  • Administrators
18 часов назад, knsg12 сказал:

А как можно поделиться местоположением? И второй вопрос, как ограничить список приложений с которыми я хочу поделиться? Допустим я хочу открыть ссылку о местоположении в 2ГИСе и как то перегруженно, когда выходит куча приложений. Или была бы возможность как то сообщить чтобы показало только программы работающие с картами и т.д.

https://developer.android.com/training/sharing/send

Задать более узкий список приложения можно через указание конкретного пакета приложения, либо более узкой категории интента и тд.

Для карт не подскажу. Надо читать документацию сторонних приложений. Обычно там указывают, какие параметры интента нужно отправить, что карта смогла их обработать. 

  • Author
  • Administrators
16 часов назад, knsg12 сказал:

1. Из всего набора типов ссылок у меня сработало только два Телефон и Веб ссылка, остальные (Почта, Адрес и Календарь) не реагируют (они не работают?).

Отображаются, как ссылка, но не открываются?

 

  • Author
  • Administrators

Проверил. Нашел ошибку в отображении email адресов. Ее поправлю. А вот все остальное - это пример работы этого компонента на Андроиде. Он очень требователен к формату данных. Пример ниже демонстрирует выделение адреса.

image.png

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.