Jump to content

1.4.2.0 Русский


Yaroslav Brovin

Recommended Posts

  • 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" -> "Сервис поделиться"
  - "Системные сервисы" -> "Осуществление телефонного звонка"
  • Like 7
  • Thanks 3
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites

  • 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")); 
}

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

  • Like 1
Link to comment
Share on other sites

  • 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. Демку поправил.

  • Like 3
Link to comment
Share on other sites

  • 4 weeks later...

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

Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites

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

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

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

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

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

Link to comment
Share on other sites

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

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

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

 

Link to comment
Share on other sites

  • Administrators

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

image.png

Link to comment
Share on other sites

×
×
  • Create New...