May 15, 2022 Hi I needed to detect bots to block and found that can be handled by the activity manager using the functions isRunningInUserTestHarness and isUserAMonkey then I developed a wrapper around. The following functions are implemented: isRunningInUserTestHarness: Returns "true" If the device Is running in Test Harness Mode. getLockTaskModeState: Return the current state of task locking. The three possible outcomes are LOCK_TASK_MODE_NONE, LOCK_TASK_MODE_LOCKED and LOCK_TASK_MODE_PINNED. isInLockTaskMode: Return true if is locked. isBackgroundRestricted: Query whether the user has enabled background restrictions For this app. true if user has enforced background restrictions for this app, false otherwise. Emits a log warning and return False in case of sdk < 28. isLowMemoryKillReportSupported: Whether or not the low memory kill will be reported in. Emits a log warning and return False in case of sdk < 30. isLowRamDevice: Returns true if this is a low-RAM device. Emits a log warning and return False in case of sdk < 19. isUserAMonkey: Returns "true" If the user interface Is currently being messed with by a monkey. Emits a log warning and return False in case of sdk < 8. getLargeMemoryClass: Return the approximate per-Application memory class of the current device when an Application Is running with a large heap. Emits a log warning and return -1 in case of sdk < 11. getLauncherLargeIconDensity: Get the preferred Density of icons For the launcher. Emits a log warning and return -1 in case of sdk < 11. getLauncherLargeIconSize: Get the preferred launcher icon size. Emits a log warning and return -1 in case of sdk < 11. getMemoryClassReturn the approximate per-Application memory class of the current device. Emits a log warning and return in case of sdk < 11. Testing: The project contains an app with 2 buttons, one test for robots and another run all methods. You can find all the source code on github: https://github.com/alejivo/B4B4ActivityManager To add more code, please fork it and made a pull request to add the features and share the changes. Greetings! Alejandro. Attachments B4ActivityManager.zip B4ActivityManager.zip 4.6 KB · Views: 532 Testapp.zip Testapp.zip 38.3 KB · Views: 526 Click to expand...
Hi I needed to detect bots to block and found that can be handled by the activity manager using the functions isRunningInUserTestHarness and isUserAMonkey then I developed a wrapper around. The following functions are implemented: isRunningInUserTestHarness: Returns "true" If the device Is running in Test Harness Mode. getLockTaskModeState: Return the current state of task locking. The three possible outcomes are LOCK_TASK_MODE_NONE, LOCK_TASK_MODE_LOCKED and LOCK_TASK_MODE_PINNED. isInLockTaskMode: Return true if is locked. isBackgroundRestricted: Query whether the user has enabled background restrictions For this app. true if user has enforced background restrictions for this app, false otherwise. Emits a log warning and return False in case of sdk < 28. isLowMemoryKillReportSupported: Whether or not the low memory kill will be reported in. Emits a log warning and return False in case of sdk < 30. isLowRamDevice: Returns true if this is a low-RAM device. Emits a log warning and return False in case of sdk < 19. isUserAMonkey: Returns "true" If the user interface Is currently being messed with by a monkey. Emits a log warning and return False in case of sdk < 8. getLargeMemoryClass: Return the approximate per-Application memory class of the current device when an Application Is running with a large heap. Emits a log warning and return -1 in case of sdk < 11. getLauncherLargeIconDensity: Get the preferred Density of icons For the launcher. Emits a log warning and return -1 in case of sdk < 11. getLauncherLargeIconSize: Get the preferred launcher icon size. Emits a log warning and return -1 in case of sdk < 11. getMemoryClassReturn the approximate per-Application memory class of the current device. Emits a log warning and return in case of sdk < 11. Testing: The project contains an app with 2 buttons, one test for robots and another run all methods. You can find all the source code on github: https://github.com/alejivo/B4B4ActivityManager To add more code, please fork it and made a pull request to add the features and share the changes. Greetings! Alejandro.