{"id":1592,"date":"2016-12-19T08:59:00","date_gmt":"2016-12-19T08:59:00","guid":{"rendered":"https:\/\/prometteursolutions.com\/blog\/wordpress\/?p=1592"},"modified":"2025-10-10T05:26:21","modified_gmt":"2025-10-10T05:26:21","slug":"android-things-googles-new-os-for-iot","status":"publish","type":"post","link":"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/","title":{"rendered":"Android app development for the Internet of Things"},"content":{"rendered":"<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Yes\u2014building an Android app for IoT is very achievable today, but the modern approach no longer uses Android Things and instead relies on standard Android, Bluetooth Low Energy (BLE), MQTT, and Google\u2019s Matter\/Google Home ecosystem for smart-home integrations.<\/p>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Android Things, Google\u2019s IoT OS, is discontinued, Weave was replaced by the Matter standard, and developers now ship Android companion apps that connect to devices over BLE\/Wi\u2011Fi and the cloud, or build Matter-compatible products that work seamlessly with Google Home.<\/p>\n<h2 class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0\">What changed in IoT for Android<\/h2>\n<ul>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Android Things was announced in 2015 (as Brillo) and launched 1.0 in 2018, but the console stopped accepting new projects on January 5, 2021 and was fully shut down on January 5, 2022.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Google\u2019s Weave protocol has been superseded by Matter, an open smart home standard supported in Google Home with dedicated SDKs and tools for device and<a href=\"https:\/\/prometteursolutions.com\/blog\/hire-a-dedicated-mobile-app-developers-for-web-and-mobile-apps\/\"> app developers<\/a>.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Google Home\u2019s developer tooling and Home APIs now provide the recommended path to integrate smart devices with Google across Android and Nest hubs.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">If a cloud back end is required, note that Google Cloud IoT Core was retired in August 2023; teams either run their own MQTT brokers or use third\u2011party IoT platforms instead.<\/li>\n<\/ul>\n<h2 class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0\">The modern Android + IoT paths<\/h2>\n<ul>\n<li>Companion app + device: Build a Kotlin\/Android app that talks to microcontrollers or SoCs via BLE\/Wi\u2011Fi and streams data through MQTT or HTTP to a cloud broker or service.<\/li>\n<li><a href=\"https:\/\/prometteursolutions.com\/blog\/top-work-from-home-productivity-apps\/\">Matter smart home products<\/a>: Build devices with the Matter SDK and integrate through the Google Home Developer Center to reach Google Assistant, Android, and Nest hubs.<\/li>\n<li>Embedded Android (AOSP derivatives): Where Android runs on the device, treat it like a standard Android app platform and rely on BLE, network APIs, and secure update workflows.<\/li>\n<\/ul>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">This guide explains how to make an Android app for IoT using today\u2019s supported stacks, with step\u2011by\u2011step instructions, code patterns, security, and deployment best practices.<\/p>\n<blockquote><p>Explore More: <a href=\"https:\/\/prometteursolutions.com\/blog\/web-applications-in-iot-exploring-their-role-in-the-connected-world\/\">Web Applications in IoT<\/a>: Exploring Their Role in the Connected World<\/p><\/blockquote>\n<h2 class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0\">Android Things recap and why to move on<\/h2>\n<p>Android Things began as Brillo, was rebranded and released as Android Things 1.0 in 2018, and later narrowed focus to smart speakers and displays before being turned down.<\/p>\n<p>The console stopped new registrations in January 2021 and was fully shut down with all project data deletion by January 2022.<\/p>\n<p>Given its end\u2011of\u2011life, new projects should not target Android Things and should instead use standard Android with BLE\/MQTT or build Matter devices for Google Home.<\/p>\n<h2 class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0\">From Weave to Matter with Google Home<\/h2>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Google transitioned from Weave to Matter by contributing Weave to the Connected Home over IP effort that became Matter, halting Weave\u2019s development in favor of the new standard.<\/p>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Matter is an open standard enabling devices to interoperate across major ecosystems; Google offers SDKs, testing, and \u201cWorks With Google Home\u201d certification paths.<\/p>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Google Home provides end\u2011to\u2011end tools for Matter device and app developers, accelerating time\u2011to\u2011market and ensuring compatibility across Android and Nest hubs.<\/p>\n<h2 class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0\">Architecture options for Android + IoT<\/h2>\n<ul>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Device + mobile app + broker: A Bluetooth\/BLE device sends data to an Android app, which processes and publishes it via MQTT to a cloud or edge broker for dashboards and automation.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Device + Matter + Google Home: A product built on the Matter SDK integrates via the Google Home Developer Center and appears in Assistant and Google Home apps.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Android device as edge gateway: An Android tablet\/phone aggregates BLE sensors, applies local logic, and bridges to MQTT, handling background tasks with WorkManager.<\/li>\n<\/ul>\n<h2 class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0\">Core technologies to use<\/h2>\n<ul>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Bluetooth Low Energy: Android provides BLE APIs to scan, connect via GATT, and exchange data efficiently with low power devices.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">MQTT messaging: Eclipse Paho Android client enables reliable MQTT publish\/subscribe, including TLS and WebSocket support for mobile connectivity.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Background work: WorkManager reliably schedules deferrable, guaranteed tasks across app restarts and device reboots.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Foreground services: Android 12+ restricts background starts of foreground services; use WorkManager or exemptions where applicable.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Permissions on Android 12+: Nearby devices and Bluetooth permissions require explicit runtime grants for discovery, advertise, and connect.<\/li>\n<\/ul>\n<h2 class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0\">Step\u2011by\u2011step: Build an Android IoT companion app (BLE + MQTT)<\/h2>\n<h3 class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">1. Set up the environment<\/h3>\n<ul>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Install Android Studio, create a Kotlin app with minSdk per BLE needs, and enable required Bluetooth features.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Plan the data flow: GATT characteristics from the device mapped to JSON payloads for MQTT topics on connect or at intervals managed by background work.<\/li>\n<\/ul>\n<h3 class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">2. Define permissions and features (Android 12+)<\/h3>\n<ul>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Request and declare Bluetooth permissions for scanning, advertising, and connecting, along with Nearby Devices where applicable.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Explain foreground service rules for long\u2011running user\u2011visible tasks; avoid starting foreground services from the background unless exempted.<\/li>\n<\/ul>\n<h3 class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">3. Implement BLE scanning and GATT<\/h3>\n<ul>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Use the platform\u2019s BLE central role to scan and filter by device name, service UUID, or manufacturer data.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Connect to the device\u2019s GATT server, discover services\/characteristics, and read\/notify as required.<\/li>\n<\/ul>\n<h3 class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">4. Add MQTT connectivity<\/h3>\n<ul>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Integrate Eclipse Paho Android client to publish sensor telemetry and subscribe to control topics, using TLS where supported.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Configure automatic reconnect and offline buffering for flaky networks to maintain reliable delivery.<\/li>\n<\/ul>\n<h3 class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">5. Schedule background sync with WorkManager<\/h3>\n<ul>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Use WorkManager for reliable, deferred uploads, retries, and constraints such as network availability and charging.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">For user\u2011visible, time\u2011sensitive operations, combine WorkManager expedited work or a properly launched foreground service when policy allows.<\/li>\n<\/ul>\n<h3 class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">6. Handle Android 12+ foreground service changes<\/h3>\n<ul>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Targeted apps can\u2019t start a foreground service from the background unless a special case applies; handle exceptions and fallbacks gracefully.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Prefer WorkManager for non\u2011urgent background operations and prompt the user to enter the app for tasks that require foreground execution.<\/li>\n<\/ul>\n<h3 class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">7. Secure data and privacy<\/h3>\n<ul>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">BLE pairing can expose data to all apps on the phone; add app\u2011layer encryption or tokenization where data sensitivity demands it.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Use TLS for MQTT and manage credentials securely, rotating keys and limiting topic access per device.<\/li>\n<\/ul>\n<blockquote><p>Learn On: <a href=\"https:\/\/prometteursolutions.com\/blog\/iot-firmware-development-firmware-best-practices-and-avoiding-pitfalls\/\">IoT Firmware Development<\/a>: Firmware Best Practices and Avoiding Pitfalls<\/p><\/blockquote>\n<h2 class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0\">Example: BLE read + MQTT publish (Kotlin)<\/h2>\n<ul class=\"marker:text-quiet list-disc\">\n<li class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [&amp;&gt;p]:pt-0 [&amp;&gt;p]:mb-2 [&amp;&gt;p]:my-0\">\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">This snippet reads a GATT characteristic when available and publishes to MQTT with a retained topic for last\u2011known value.<\/p>\n<\/li>\n<\/ul>\n<div class=\"w-full md:max-w-[90vw]\">\n<div class=\"codeWrapper text-light selection:text-super selection:bg-super\/10 my-md relative flex flex-col rounded font-mono text-sm font-normal bg-subtler\">\n<blockquote>\n<div class=\"translate-y-xs -translate-x-xs bottom-xl mb-xl sticky top-0 flex h-0 items-start justify-end\">\u00a0CHECK OUT THE CODE HERE <a href=\"https:\/\/docs.google.com\/document\/d\/1nwgZUzZLiwTnNrSkHifncVrRjnJPiJ4n1EkDuhFPd8g\/edit?tab=t.0\">KOTLIN<\/a><\/div>\n<\/blockquote>\n<div class=\"-mt-xl\">\n<ul>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Pair this with WorkManager tasks to periodically reconnect and backfill logs if connectivity drops, respecting network constraints and retries.<\/li>\n<\/ul>\n<h2 class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0\">Matter path: Build smart devices for Google Home<\/h2>\n<ul>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Matter lets one device work across ecosystems with a single protocol, while Google provides SDKs, validation, and Works With Google Home branding.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Devices integrated and tested through Google Home Developer Center gain faster time\u2011to\u2011market and a consistent user experience on Android and Nest hubs.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">For mobile apps, Google\u2019s Home APIs expose access to hundreds of millions of devices and automation capabilities, opening new smart\u2011home use cases.<\/li>\n<\/ul>\n<h2 class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0\">Cloud and messaging choices (post IoT Core)<\/h2>\n<ul>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Google Cloud IoT Core was retired in 2023, so select alternatives like self\u2011managed MQTT brokers or third\u2011party IoT platforms for device ingestion.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">The Paho Android client works with standards\u2011compliant MQTT brokers and supports features like auto\u2011reconnect and persistence for robust mobile links.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Design topic hierarchies per device and function, enforce least\u2011privilege credentials, and secure brokers with TLS and client certificates.<\/li>\n<\/ul>\n<h2 class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0\">Background work and Android 12+ compliance<\/h2>\n<ul>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Use WorkManager for guaranteed, deferrable, and constraint\u2011aware tasks across restarts and app closures, avoiding brittle background behaviors.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Android 12 adds restrictions to foreground services launched from the background; rely on documented exemptions or redesign for WorkManager where possible.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Foreground services remain appropriate for user\u2011noticeable, ongoing tasks, but always confirm policies for API level 31+ and handle exceptions.<\/li>\n<\/ul>\n<h2 class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0\">Security and privacy essentials<\/h2>\n<ul>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Add app\u2011layer protection for sensitive BLE data, since paired data can be accessible to all apps on the device without extra safeguards.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Use TLS for MQTT, rotate credentials, and segment topics so a compromised client cannot publish\/subscribe beyond its scope.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Align permissions with Android 12+ requirements by requesting only the Bluetooth and Nearby Devices capabilities actually needed.<\/li>\n<\/ul>\n<h2 class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0\">Practical checklist (planning to production)<\/h2>\n<ul>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Define use cases: telemetry, control, automation, and alerts across BLE and MQTT or via Matter integration for smart\u2011home scenarios.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Select device connectivity: GATT characteristics for BLE devices or Matter endpoints for certified smart\u2011home products.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Choose cloud\/messaging: Standard MQTT brokers and event pipelines since IoT Core is retired, with TLS and observability from the outset.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Implement Android background tasks: use WorkManager, and apply foreground services only when policy allows for user\u2011visible work.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Validate permissions: ensure Nearby Devices and Bluetooth runtime prompts are clear, and handle denial gracefully.<\/li>\n<li class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Test across devices: verify BLE stability, reconnection behavior, and MQTT resilience under network changes and app lifecycle events.<\/li>\n<\/ul>\n<blockquote>\n<p style=\"text-align: center;\">Ready To <a href=\"https:\/\/prometteursolutions.com\/services\/IOT\/\">Build Android app In IOT<\/a> ?<\/p>\n<\/blockquote>\n<h2 class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0\">Frequently asked questions<\/h2>\n<h3 class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Q1.\u00a0Can Android Things still be used for new products?<\/h3>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">No\u2014Android Things is discontinued; the console stopped new projects in 2021 and fully shut down in 2022, so new projects should target standard Android, MQTT\/BLE, or Matter.<\/p>\n<h3 class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Q2. What replaced Weave for Google smart\u2011home development?<\/h3>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">\u00a0Matter is the new standard, and Google supports it via the Google Home Developer Center with SDKs and the Works With Google Home program.<\/p>\n<h3 class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Q3. How should an app connect to IoT devices over short range?<\/h3>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">\u00a0Use the Android BLE APIs for scanning, GATT connections, characteristic reads\/writes, and notifications to exchange data efficiently with battery\u2011powered devices.<\/p>\n<h3 class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Q4. What\u2019s the recommended Android library for background tasks?<\/h3>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">\u00a0WorkManager provides reliable scheduling, constraints, retries, and persistence across reboots, making it ideal for deferred IoT syncs and maintenance jobs.<\/p>\n<h3 class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Q5. Is it okay to start a foreground service from the background on Android 12+?<\/h3>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">\u00a0Generally no\u2014Android 12 blocks background starts unless exempted, so plan to use WorkManager or trigger from a user\u2011visible state when needed.<\/p>\n<h3 class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Q6. Which MQTT client is commonly used on Android?<\/h3>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">\u00a0The Eclipse Paho Android client is a widely used open\u2011source MQTT library supporting TLS, offline buffering, and asynchronous operations.<\/p>\n<h3 class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Q7. What happened to Google Cloud IoT Core?<\/h3>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">\u00a0It was retired in 2023, so teams now choose third\u2011party IoT platforms or run their own brokers for device ingestion and messaging.<\/p>\n<h2 class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0\">Conclusion<\/h2>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">The fastest, future\u2011proof route to Android IoT today is a standards\u2011based stack: BLE for device connectivity, MQTT for messaging, WorkManager for background reliability, and Matter\/Google Home for smart\u2011home reach.<\/p>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">With Android Things retired and Weave replaced by Matter, this approach aligns with Google\u2019s current ecosystem and ensures compatibility, scalability, and secure operation across modern Android versions.<\/p>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Yes\u2014building an Android app for IoT is very achievable today, but the modern approach no longer uses Android Things and instead relies on standard Android, Bluetooth Low Energy (BLE), MQTT, and Google\u2019s Matter\/Google Home ecosystem for smart-home integrations. Android Things, Google\u2019s IoT OS, is discontinued, Weave was replaced by the Matter standard, and developers now [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":1595,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"content-type":"","om_disable_all_campaigns":false,"footnotes":""},"categories":[917],"tags":[],"class_list":{"0":"post-1592","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-iot"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Android Things: Complete Guide to IoT App Development<\/title>\n<meta name=\"description\" content=\"Master Google&#039;s Android Things platform for IoT development. Learn Weave protocol, Raspberry Pi setup, Android Studio integration, and build smart devices with Java\/Kotlin. Full tutorial with real examples.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Android Things: Complete Guide to IoT App Development\" \/>\n<meta property=\"og:description\" content=\"Master Google&#039;s Android Things platform for IoT development. Learn Weave protocol, Raspberry Pi setup, Android Studio integration, and build smart devices with Java\/Kotlin. Full tutorial with real examples.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/\" \/>\n<meta property=\"og:site_name\" content=\"blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prometteurSolutions\/timeline\/\" \/>\n<meta property=\"article:published_time\" content=\"2016-12-19T08:59:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-10T05:26:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prometteursolutions.com\/blog\/wp-content\/uploads\/2016\/12\/android-things-1.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"728\" \/>\n\t<meta property=\"og:image:height\" content=\"420\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Anil G\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Iamprometteur\" \/>\n<meta name=\"twitter:site\" content=\"@Iamprometteur\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Anil G\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/\"},\"author\":{\"name\":\"Anil G\",\"@id\":\"https:\/\/prometteursolutions.com\/blog\/#\/schema\/person\/a4ae2ebbf137687ec279232c86263362\"},\"headline\":\"Android app development for the Internet of Things\",\"datePublished\":\"2016-12-19T08:59:00+00:00\",\"dateModified\":\"2025-10-10T05:26:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/\"},\"wordCount\":1725,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/prometteursolutions.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prometteursolutions.com\/blog\/wp-content\/uploads\/2016\/12\/android-things-1.jpeg\",\"articleSection\":[\"IOT\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/\",\"url\":\"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/\",\"name\":\"Android Things: Complete Guide to IoT App Development\",\"isPartOf\":{\"@id\":\"https:\/\/prometteursolutions.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prometteursolutions.com\/blog\/wp-content\/uploads\/2016\/12\/android-things-1.jpeg\",\"datePublished\":\"2016-12-19T08:59:00+00:00\",\"dateModified\":\"2025-10-10T05:26:21+00:00\",\"description\":\"Master Google's Android Things platform for IoT development. Learn Weave protocol, Raspberry Pi setup, Android Studio integration, and build smart devices with Java\/Kotlin. Full tutorial with real examples.\",\"breadcrumb\":{\"@id\":\"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/#primaryimage\",\"url\":\"https:\/\/prometteursolutions.com\/blog\/wp-content\/uploads\/2016\/12\/android-things-1.jpeg\",\"contentUrl\":\"https:\/\/prometteursolutions.com\/blog\/wp-content\/uploads\/2016\/12\/android-things-1.jpeg\",\"width\":728,\"height\":420,\"caption\":\"android application developments - Prometteur Solutions\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/prometteursolutions.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Android app development for the Internet of Things\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/prometteursolutions.com\/blog\/#website\",\"url\":\"https:\/\/prometteursolutions.com\/blog\/\",\"name\":\"blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/prometteursolutions.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/prometteursolutions.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/prometteursolutions.com\/blog\/#organization\",\"name\":\"blog\",\"url\":\"https:\/\/prometteursolutions.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prometteursolutions.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/prometteursolutions.com\/blog\/wp-content\/uploads\/2021\/04\/new-logo.png\",\"contentUrl\":\"https:\/\/prometteursolutions.com\/blog\/wp-content\/uploads\/2021\/04\/new-logo.png\",\"width\":211,\"height\":60,\"caption\":\"blog\"},\"image\":{\"@id\":\"https:\/\/prometteursolutions.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/prometteurSolutions\/timeline\/\",\"https:\/\/x.com\/Iamprometteur\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/prometteursolutions.com\/blog\/#\/schema\/person\/a4ae2ebbf137687ec279232c86263362\",\"name\":\"Anil G\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prometteursolutions.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/28ee72234de5cc37a72e64d1f123446e4b4f7dc1d79e3254b48ff8ecf91e27e5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/28ee72234de5cc37a72e64d1f123446e4b4f7dc1d79e3254b48ff8ecf91e27e5?s=96&d=mm&r=g\",\"caption\":\"Anil G\"},\"url\":\"https:\/\/prometteursolutions.com\/blog\/author\/newadmin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Android Things: Complete Guide to IoT App Development","description":"Master Google's Android Things platform for IoT development. Learn Weave protocol, Raspberry Pi setup, Android Studio integration, and build smart devices with Java\/Kotlin. Full tutorial with real examples.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/","og_locale":"en_US","og_type":"article","og_title":"Android Things: Complete Guide to IoT App Development","og_description":"Master Google's Android Things platform for IoT development. Learn Weave protocol, Raspberry Pi setup, Android Studio integration, and build smart devices with Java\/Kotlin. Full tutorial with real examples.","og_url":"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/","og_site_name":"blog","article_publisher":"https:\/\/www.facebook.com\/prometteurSolutions\/timeline\/","article_published_time":"2016-12-19T08:59:00+00:00","article_modified_time":"2025-10-10T05:26:21+00:00","og_image":[{"width":728,"height":420,"url":"https:\/\/prometteursolutions.com\/blog\/wp-content\/uploads\/2016\/12\/android-things-1.jpeg","type":"image\/jpeg"}],"author":"Anil G","twitter_card":"summary_large_image","twitter_creator":"@Iamprometteur","twitter_site":"@Iamprometteur","twitter_misc":{"Written by":"Anil G","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/#article","isPartOf":{"@id":"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/"},"author":{"name":"Anil G","@id":"https:\/\/prometteursolutions.com\/blog\/#\/schema\/person\/a4ae2ebbf137687ec279232c86263362"},"headline":"Android app development for the Internet of Things","datePublished":"2016-12-19T08:59:00+00:00","dateModified":"2025-10-10T05:26:21+00:00","mainEntityOfPage":{"@id":"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/"},"wordCount":1725,"commentCount":0,"publisher":{"@id":"https:\/\/prometteursolutions.com\/blog\/#organization"},"image":{"@id":"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/#primaryimage"},"thumbnailUrl":"https:\/\/prometteursolutions.com\/blog\/wp-content\/uploads\/2016\/12\/android-things-1.jpeg","articleSection":["IOT"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/","url":"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/","name":"Android Things: Complete Guide to IoT App Development","isPartOf":{"@id":"https:\/\/prometteursolutions.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/#primaryimage"},"image":{"@id":"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/#primaryimage"},"thumbnailUrl":"https:\/\/prometteursolutions.com\/blog\/wp-content\/uploads\/2016\/12\/android-things-1.jpeg","datePublished":"2016-12-19T08:59:00+00:00","dateModified":"2025-10-10T05:26:21+00:00","description":"Master Google's Android Things platform for IoT development. Learn Weave protocol, Raspberry Pi setup, Android Studio integration, and build smart devices with Java\/Kotlin. Full tutorial with real examples.","breadcrumb":{"@id":"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/#primaryimage","url":"https:\/\/prometteursolutions.com\/blog\/wp-content\/uploads\/2016\/12\/android-things-1.jpeg","contentUrl":"https:\/\/prometteursolutions.com\/blog\/wp-content\/uploads\/2016\/12\/android-things-1.jpeg","width":728,"height":420,"caption":"android application developments - Prometteur Solutions"},{"@type":"BreadcrumbList","@id":"https:\/\/prometteursolutions.com\/blog\/android-things-googles-new-os-for-iot\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/prometteursolutions.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Android app development for the Internet of Things"}]},{"@type":"WebSite","@id":"https:\/\/prometteursolutions.com\/blog\/#website","url":"https:\/\/prometteursolutions.com\/blog\/","name":"blog","description":"","publisher":{"@id":"https:\/\/prometteursolutions.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/prometteursolutions.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/prometteursolutions.com\/blog\/#organization","name":"blog","url":"https:\/\/prometteursolutions.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prometteursolutions.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/prometteursolutions.com\/blog\/wp-content\/uploads\/2021\/04\/new-logo.png","contentUrl":"https:\/\/prometteursolutions.com\/blog\/wp-content\/uploads\/2021\/04\/new-logo.png","width":211,"height":60,"caption":"blog"},"image":{"@id":"https:\/\/prometteursolutions.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/prometteurSolutions\/timeline\/","https:\/\/x.com\/Iamprometteur"]},{"@type":"Person","@id":"https:\/\/prometteursolutions.com\/blog\/#\/schema\/person\/a4ae2ebbf137687ec279232c86263362","name":"Anil G","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prometteursolutions.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/28ee72234de5cc37a72e64d1f123446e4b4f7dc1d79e3254b48ff8ecf91e27e5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/28ee72234de5cc37a72e64d1f123446e4b4f7dc1d79e3254b48ff8ecf91e27e5?s=96&d=mm&r=g","caption":"Anil G"},"url":"https:\/\/prometteursolutions.com\/blog\/author\/newadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/prometteursolutions.com\/blog\/wp-json\/wp\/v2\/posts\/1592","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prometteursolutions.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prometteursolutions.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prometteursolutions.com\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prometteursolutions.com\/blog\/wp-json\/wp\/v2\/comments?post=1592"}],"version-history":[{"count":23,"href":"https:\/\/prometteursolutions.com\/blog\/wp-json\/wp\/v2\/posts\/1592\/revisions"}],"predecessor-version":[{"id":17827,"href":"https:\/\/prometteursolutions.com\/blog\/wp-json\/wp\/v2\/posts\/1592\/revisions\/17827"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prometteursolutions.com\/blog\/wp-json\/wp\/v2\/media\/1595"}],"wp:attachment":[{"href":"https:\/\/prometteursolutions.com\/blog\/wp-json\/wp\/v2\/media?parent=1592"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prometteursolutions.com\/blog\/wp-json\/wp\/v2\/categories?post=1592"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prometteursolutions.com\/blog\/wp-json\/wp\/v2\/tags?post=1592"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}