Перейти к содержанию
Fire Monkey от А до Я
  1. Общие вопросы

    1. 557
      постов
    2. 1,5т
      поста
    3. 949
      постов
    4. Базы данных и REST

      Работа с базами данных и с REST из FireMonkey

      1,7т
      постов
    5. 10,5т
      постов
    6. Положение, размеры, выравнивание

      Положение контролов, размеры, способы выравнивания, абсолютные, локальные и экранные координаты

      476
      постов
    7. Работа с текстом

      Текстовые настройки, шрифты, отображение

      436
      постов
    8. Приложение и формы

      Настройки приложения и работа с формами

      1,4т
      постов
    9. Отладка

      Вопросы отладки и логирования delphi приложений. Поиск ошибок.

      579
      постов
    10. Развертывание приложений

      Deployment Manager, копирование своих файлов на устройство при установке приложения, подготовка к публикации, распространение.

      687
      постов
    11. 1,1т
      постов
    12. Общая информация о TControl

      Общая информация о TControl, на основе которого строятся все остальные визуальные компоненты FireMonkey

      77
      постов
    13. 319
      постов
    14. Прочие вопросы

      Если нет соответствующего раздела форума, то сюда публикуем свой вопрос, затем тема перейдет в нужный раздел форума.

      3,3т
      постов
  2. Вопросы по платформам

    1. 7,2т
      постов
    2. 1,8т
      постов
    3. OSX

      200
      постов
    4. 721
      пост
    5. 6
      постов
    6. 104
      поста
  3. Вопросы по использованию RAD Studio

    1. Лицензирование

      Вопросы связанные с редакциями RAD Studio и лицензированием

      157
      постов
    2. 135
      постов
    3. 44
      поста
    4. 27
      постов
    5. 329
      постов
  4. Обучение

    1. 39
      постов
    2. 155
      постов
      • Сообщений пока нет
  5. Поиск специалистов по FireMonkey

    1. Консультации

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

      618
      постов
    2. Ищу подрядчика

      В этом разделе заказчики ищут подрядчиков для разовых/проектных работ на FireMonkey

      180
      постов
  6. Дополнительные ресурсы по FireMonkey

    1. Сторонние компоненты

      Раздел для публикации существующих компонентов для FireMonkey

      892
      поста
    2. Приложения, написанные с использованием FireMonkey

      Подборка ссылок на приложения, написанные с использование FireMonkey и RAD Studio

      343
      поста
    3. Примеры

      Подборка ссылок на официальные примеры

      9
      постов
    4. Руководства

      Книги, брошюры по FireMonkey

      69
      постов
    5. Шаблоны

      Шаблонные проекты

      166
      постов
    6. Статьи и заметки

      Публикация ссылок на интересные стать о Delphi и FireMonkey. Каждый пользователь может поделиться здесь своими ссылками.

      408
      постов
    7. Информация о версиях RAD Studio

      Информация о новых возможностях, появившихся в каждый версиях RAD Studio. А так же исправлениях и улучшениях

      812
      поста
    8. 567
      постов
  7. Организация работы данного форума

    1. 1
      пост
    2. Нарушения правил форума

      Сюда попадают темы, не отвечающие правилам форума

      23
      поста
    3. 147
      постов
    4. 103
      поста
    5. Функции форума

      Инструкции по использованию функций форума и оповещение о новых функциях

      19
      постов
  • Последние сообщения

    • uses   Androidapi.JNI.Google.Android.Gms.Common,   Androidapi.JNI.Google.Android.Gms.Location,   Androidapi.JNI.Google.Android.Gms.Tasks, встреваем уже с первых строк
    • Прошу прощения за назойливость, но...  как Вы этот процесс реализовали в Делфях?
    • Ну это к Гуглу вопросы, у меня в приложении работает, как у вас на скрине. Смысл такой вы создаёте запрос на определенный вид геолокации для вашего приложения в ответ получаете задачу для задачи определяете слушатель отсутствия геолокации. В слушателе обрабатываете "исключение" и если доступа нет, то запускаете действие с ответом. И обрабатываете ответ, нажал ли пользователь "ок" или нажал "нет, спасибо".(Пример как в delphi startActivityWithResult)
    • Ох, госпаде... А чего так много букофф получилось? И как это вообще работает?
    • Плюс нужно подключить необходимые библиотеки и соответственно нужно описать недостающие интерфейсы java 
    • var LLocationRequest := TJLocationRequest_Builder.JavaClass.init(300) //.setDurationMillis(durationMillis: Int64) - Sets the duration of this request. - The default value is Long.MAX_VALUE. //.setGranularity(granularity: Integer) - Sets the Granularity of locations returned for this request. - The default value is Granularity.GRANULARITY_PERMISSION_LEVEL. .setIntervalMillis(300) //- Sets the desired interval of location updates. .setMaxUpdateAgeMillis(0) //- Sets the maximum age of an initial historical location delivered for this request. - The default value is IMPLICIT_MAX_UPDATE_AGE. //.setMaxUpdateDelayMillis(maxUpdateDelayMillis: Int64) - Sets the longest a location update may be delayed. - The default value is 0. //.setMaxUpdates(maxUpdates: Integer) - Sets the maximum number of updates delivered to this request. - The default value is Integer.MAX_VALUE. // .setMinUpdateDistanceMeters(0) // - Sets the maximum number of updates delivered to this request. - The default value is 0. .setMinUpdateIntervalMillis(100)// - Sets the fastest allowed interval of location updates. - The default value is IMPLICIT_MIN_UPDATE_INTERVAL .setPriority(TJPriority.JavaClass.PRIORITY_HIGH_ACCURACY) // - Sets the Priority of the location request. - The default value is Priority.PRIORITY_BALANCED_POWER_ACCURACY. .setWaitForAccurateLocation(false)// - If set to true and this request is Priority.PRIORITY_HIGH_ACCURACY, this will delay delivery of initial low accuracy locations for a small amount of time in case a high accuracy location can be delivered instead. - The default value is true. .build(); var LLocationSettingsRequest := TJLocationSettingsRequest_Builder.JavaClass.init .addLocationRequest(LLocationRequest) .setAlwaysShow(true) .build(); FMessageSubscriptionID := TMessageManager.DefaultManager.SubscribeToMessage( TMessageResultNotification, HandleActivityMessage); MyOnFailureListener := TMyOnFailureListener.Create(Form1); MyOnFailureListener.onFailured := onFailureLocation; locTask := TJLocationServices.JavaClass.getSettingsClient(TAndroidHelper.Activity).checkLocationSettings(LLocationSettingsRequest); locTask.addOnFailureListener(MyOnFailureListener); procedure TForm1.onFailureLocation(e: JException); var resolve: JResolvableApiException; begin resolve := TJResolvableApiException.Wrap((e as ILocalObject).GetObjectID); if resolve <> nil then resolve.startResolutionForResult(TAndroidHelper.Activity, 953798); end; procedure TForm1.HandleActivityMessage(const Sender: TObject; const M: TMessage); begin LogCAAdd('HandleActivityMessage'); if M is TMessageResultNotification then OnActivityResult(TMessageResultNotification(M).RequestCode, TMessageResultNotification(M).ResultCode, TMessageResultNotification(M).Value); LogCAAdd('HandleActivityMessage ok'); end; function TForm1.OnActivityResult(RequestCode, ResultCode: Integer; Data: JIntent): Boolean; begin if RequestCode = 953798 then begin if ResultCode = TJActivity.JavaClass.RESULT_OK then begin LogCAAdd('isHardwareLocationEnabled RESULT_OK'); end else if ResultCode = TJActivity.JavaClass.RESULT_CANCELED then begin LogCAAdd('isHardwareLocationEnabled RESULT_CANCELED'); end; end; end; TOnFailureListenerEvent = procedure(e: JException) of object; TMyOnFailureListener = class(TJavaLocal, JOnFailureListener) private [weak] FParent : TForm1; FOnFailureListenerEvent: TOnFailureListenerEvent; public constructor Create(AParent : TForm1); Destructor Destroy; Override; procedure onFailure(e: JException); cdecl; property onFailured: TOnFailureListenerEvent read FOnFailureListenerEvent write FOnFailureListenerEvent; end;  
    • Конечно можно, хоть что можно
    • А как это сделать автоматически? В данном скрине нажимаешь ОК и вуаля, работает...  GoogleMaps работают по такому же принципу. Вот код на Котлине, возможно ли его транслировать на Delphi? googleApiClient = GoogleApiClient.Builder(context!!)         .addApi(LocationServices.API).build()     googleApiClient!!.connect()     locationRequest = LocationRequest.create()     locationRequest!!.priority = LocationRequest.PRIORITY_HIGH_ACCURACY     locationRequest!!.interval = 30 * 1000.toLong()     locationRequest!!.fastestInterval = 5 * 1000.toLong()     val builder = LocationSettingsRequest.Builder()         .addLocationRequest(locationRequest!!)     builder.setAlwaysShow(true)     result =        LocationServices.SettingsApi.checkLocationSettings(googleApiClient, builder.build())     result!!.setResultCallback { result ->         val status: Status = result.status         when (status.statusCode) {             LocationSettingsStatusCodes.SUCCESS -> {                // Do something             }             LocationSettingsStatusCodes.RESOLUTION_REQUIRED ->                 try {                     startResolutionForResult(),                     status.startResolutionForResult(                         activity,                         REQUEST_LOCATION                     )                 } catch (e: SendIntentException) {                 }             LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE -> {                 // Do something             }         }     }
    • //================ Open GPS Setting procedure OpenGPSSettings; // uses Androidapi.JNI.GraphicsContentViewText, Androidapi.Helpers, Androidapi.JNI.Provider; {$IFDEF ANDROID} var   Intent: JIntent; {$ENDIF} begin {$IFDEF ANDROID}   Intent := TJIntent.JavaClass.init(TJSettings.JavaClass.ACTION_LOCATION_SOURCE_SETTINGS);   TAndroidHelper.Activity.startActivity(Intent); {$ENDIF} end; //==================================
    • Добрый день всем. Может быть кто знает, как под Linux сделать всю форму (включая заголовок) полупрозрачной. Под Windows все сделал, а вот под Linux не могу разобраться как. Спасибо.
  • Последние темы

×
×
  • Создать...