React Native for Native Mobile Developers?
BLE on Android
BLE is the Wireless communication where very less energy is consumed compared to standard Bluetooth Classic. Like other mobile platforms Android natively supports it.
I started working on BLE commnunication using healthcare devices like Weight Scale, BP Monitor, Glucose meter and Pulse oximeter. The problem I had to solve was to improve this communication where users were facing a lot of issues pairing/syncing these peripherals with Android phone running our app. Having very brief documentation about BLE low level APIs on Android, handling the asynchronous communication, resolving errors was not an easy task. We ought to have written a layer of abstraction on top of these APIs which would handle command queues, threading and managing connection. But then we found this Library Blessed which helped us solve all these issues and communicate better with BLE peripherals on Android.
Applinks on Android 12
If you are trying to access your app from web, trying to click on a link which automatically opens the app without ambiguity, you need app links to be created.
Before Android 12 (API 31), adding intent filters under the
Activity which needs to open on link clicking would open the default app, may be with some amibguity.
Accessibility on Android: make apps accessible to all the users
When Screen Reader is turned on, on Android devices, it automatically announces what element is in focus.
It is recommended to use views that Android provides which include view’s role and content required by Accessibility service. If you need a custom button, you extend the Button rather than starting from scratch with a View.
Then Joda, Now Java 8 APIs
I had to implement a feature in our app which would trigger repeat alarms which will be set based on specific events. Our project minSdk was set to 23 (Yes, we support Android 6!) and I thought Java 8 Time APIs I cannot use. So Joda was the option I had.
Bluetooth Permissions on Android 12
Beginning with Android 12, new run-time permissions are added for accessing nearby Bluetooth devices. Without this permission any APIs related to Bluetooth devices access will result into Fatal Exception:
You will find here some debugging, some tips and tricks from my experience.