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.
Message added by Yaroslav Brovin,

Please be aware that these comments were copied here from another source and that the date and time shown for each comment may not be accurate.

  • Status: Fixed
  • Priority: Normal
  • Resolution: Fixed
  • Platform: Android
  • Affects version 1.18.5.0
  • Fix version: 1.18.6.0

Здравствуйте.

Для того, чтобы вернуть accessibility, то-есть чтобы работали события касания некоторых контролов со включенными специальными возможностями (TalkBack), по совету, полученному здесь же, на форуме, я применяю следующую конструкцию:

type
  TfgOpenAndroidControl = class(TfgAndroidControl);
var NativeControl: TfgOpenAndroidControl;
...
NativeControl := TfgOpenAndroidControl(fObj.Handle.NativeControl);
NativeControl.FOptions := NativeControl.FOptions - [TfgAndroidControlOption.CustomTouchProcessing];

Но теперь обнаружилось, что длительные касания, после такого вот воздействия на контрол, приводят к краху приложения в Android 14. Мне удалось запросить у пользователя bagreport, и вот, полагаю, из-за чего сыр-бор:

08-26 17:21:52.326 10393 24016 24016 E AndroidRuntime: java.lang.NullPointerException: Expected to unbox a 'boolean' primitive type but was returned null
08-26 17:21:52.326 10393 24016 24016 E AndroidRuntime:     at $Proxy17.onLongClickUseDefaultHapticFeedback(Unknown Source)
08-26 17:21:52.326 10393 24016 24016 E AndroidRuntime:     at android.view.View.performLongClickInternal(View.java:8131)
08-26 17:21:52.326 10393 24016 24016 E AndroidRuntime:     at android.view.View.performLongClick(View.java:8085)
08-26 17:21:52.326 10393 24016 24016 E AndroidRuntime:     at android.widget.TextView.performLongClick(TextView.java:15544)
08-26 17:21:52.326 10393 24016 24016 E AndroidRuntime:     at android.view.View.performLongClick(View.java:8103)
08-26 17:21:52.326 10393 24016 24016 E AndroidRuntime:     at android.view.View$CheckForLongPress.run(View.java:31848)
08-26 17:21:52.326 10393 24016 24016 E AndroidRuntime:     at android.os.Handler.handleCallback(Handler.java:958)
08-26 17:21:52.326 10393 24016 24016 E AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:99)
08-26 17:21:52.326 10393 24016 24016 E AndroidRuntime:     at android.os.Looper.loopOnce(Looper.java:230)
08-26 17:21:52.326 10393 24016 24016 E AndroidRuntime:     at android.os.Looper.loop(Looper.java:319)
08-26 17:21:52.326 10393 24016 24016 E AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:8919)

В более ранних версиях Android, до 11 (включительно), всё нормально. Как оно будет в Android 12, 13, остаётся лишь гадать...
Хотя, когда-то я здесь же писал, что данная конструкция бесполезна и даже вредна на Android 5.0, и пытался получить ясность, с какой версии её следует применять, а с какой не следует, но увы...
Впрочем, спасся этим:

if (TJBuild_VERSION.SDK_INT>TJBuild_VERSION_CODES.LOLLIPOP) then

Но опять-таки белым пятном остаётся Android 5.1. Очень прошу, разъясните этот момент. Раз уж нет полной поддержки accessibility, то хочется хотя бы с костылями разобраться, чтобы они работали... И упомянутый крах - это моя вина или кто-то другой виноват?

Спасибо!

User Feedback

Recommended Comments

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

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.