{"id":19371862,"url":"https://github.com/stevecorbett/delphiandroidintents","last_synced_at":"2025-10-14T23:49:10.323Z","repository":{"id":118188870,"uuid":"230704189","full_name":"SteveCorbett/DelphiAndroidIntents","owner":"SteveCorbett","description":"Demonstration of using Android Oreo Intents In Delphi with A Honeywell Scanner","archived":false,"fork":false,"pushed_at":"2022-01-20T06:05:35.000Z","size":165,"stargazers_count":5,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-22T22:27:43.078Z","etag":null,"topics":["android","android-intent","barcodescanner","delphi","firemonkey","fmx","honeywell","intent","oreo"],"latest_commit_sha":null,"homepage":"","language":"Pascal","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SteveCorbett.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-12-29T04:50:30.000Z","updated_at":"2024-11-24T07:32:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"eb00673f-0a31-4e90-af62-e06809e98845","html_url":"https://github.com/SteveCorbett/DelphiAndroidIntents","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SteveCorbett/DelphiAndroidIntents","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SteveCorbett%2FDelphiAndroidIntents","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SteveCorbett%2FDelphiAndroidIntents/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SteveCorbett%2FDelphiAndroidIntents/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SteveCorbett%2FDelphiAndroidIntents/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SteveCorbett","download_url":"https://codeload.github.com/SteveCorbett/DelphiAndroidIntents/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SteveCorbett%2FDelphiAndroidIntents/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279027621,"owners_count":26088455,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-intent","barcodescanner","delphi","firemonkey","fmx","honeywell","intent","oreo"],"created_at":"2024-11-10T08:20:16.289Z","updated_at":"2025-10-14T23:49:10.288Z","avatar_url":"https://github.com/SteveCorbett.png","language":"Pascal","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Delphi Honeywell Scanner Demo Using Intents\r\n\r\n## General Overview\r\n\r\nThis repository demonstrates sending and receiving Android Intents to a Honeywell CT-40\r\nbarcode scanner. This version has been updated and tested on Android 9 but not yet tested\r\nwith previous versions of Android. (The previous commit of this project has been verified\r\nto run on Android 8.1.0 and could be used if this version doesn't work.)\r\n\r\nThe method described can be easily adapted to enable intents to be sent to other\r\nAndroid applications.\r\n\r\nPrior to Android 8 (aka Oreo) it was possible to broadcast \"implicit\" intents to\r\ncommunicate between applications. Kind of like \"Here's a message, does anyone want to\r\nhandle it?\". To send an \"explicit\" intent to another application requires a few extra\r\nsteps:\r\n\r\n- Determine which applications can handle the type of intent you wish to send\r\n- For each application that can handle the type of intent, create a new intent and send it specifically to that application.\r\n\r\nUpdate: It appears that this logic may no longer be required for Android 9, and in fact\r\njust doesn't work. Android documentation suggests that a package name is usually required\r\nwhen sending intents. For claiming and releasing the Honeywell scanner, the name of the\r\npackage is 'com.intermec.datacollectionservice'. The code has been updated to reflect\r\nthis though the application worked without this on my scanner.\r\n\r\nOriginally, this project used a Java .jar file. Though no longer required, I've retained\r\nthe code in the Android directory for reference. There is also a README.md file\r\ncontaining step-by-step instructions on how to compile a Java class into a .jar file and\r\ninclude them in a Delphi application. (One day I'll move these into a seperate repository.)\r\n\r\n## Honeywell Scanner\r\n\r\nTo receive scans from a Honeywell Android scanner there's a couple of requirements:\r\n\r\n- The application must have the following permission in the manifest:\r\n\r\n```xml\r\n\u003cuses-permission android:name=\"com.honeywell.decode.permission.DECODE\" /\u003e\r\n```\r\n\r\n- Upon gaining focus, the application must send an intent claiming the scanner.\r\n- Upon losing focus, the application must send an intent releasing the scanner.\r\n- When a barcode is scanned, the details will be received as an intent.\r\n\r\n## Delphi Project\r\n\r\n- The project targets Delphi 10.3 Update 3 and is based on an existing application. It will compile with prior releases but will need changes to the deployment options.\r\n- The project creates output files in C:\\temp\\HoneywellScanner\\Android as my project files are located on a network share and FMX projects do not like this.\r\n- To handle the receiving of intents, the project uses a component derived from https://github.com/barisatalay/delphi-android-broadcast-receiver-component\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstevecorbett%2Fdelphiandroidintents","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstevecorbett%2Fdelphiandroidintents","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstevecorbett%2Fdelphiandroidintents/lists"}