Lower-cost Chinese competitors of renowned manufactures that produce smartphones on the Android OS sell just as many handsets as the market giants. Most app developers realize the fact that the Chinese mobile market is massive, but are still a bit uncertain about what that means for the apps they develop. There is a number of issues which Android developers face when it comes to Chinese devices (Meizu, Xiaomi, Blackview, etc.). Oftentimes, these problems arise due to the firmwares and/or shells working on top of OS Android or device settings.
The problems that occur are linked with the system workflow, services, components, etc. At SteelKiwi, we were able to identify a number of typical flaws that may or may not pop up and looked for instances and solutions to some of them.
|Energy saving system||Sometimes, problems occur when an app needs to perform an action in the background/foreground. When an app is active, the system constraints are triggered which is caused by a specific energy saving system.||Stackoverflow.com|
|File system||Incorrect app behavior when working with the file system. This behavior is caused by the peculiarities of the shell workflow.|
|Notifications||Sometimes, developers face an incorrect work of notifications, namely the launch of the screens when tapping the notification.||Forum.meizufans,Xda-developers|
|Working with media||An application operates incorrectly when working with video/audio content which is caused by the peculiarities of the shell work with media tools.||Stackoverflow.com|
|Custom UI elements||In some cases, incorrect behavior of custom elements is detected. Incorrect behavior or displaying is linked with the peculiarities of internal workflow of the shell.|
|Customization of default widget||In some cases, default widgets, which underwent customization, work incorrectly.|
|Camera||The camera operates incorrectly which is caused by the peculiarities of the shell. Camera API works incorrectly on some devices. Also, in some cases, problems arise on Samsung devices.||Stackoverflow.com,Stackoverflow.com,Stackoverflow.com|
|Default UI elements||In some cases, incorrect behavior of default UI is detected. It’s connected with the peculiarities of internal shell work.|
|Geolocation||On some devices, the problem is connected with incorrect workflow of the tools responsible for geolocation, for example, Geocoder. Also, problems may occur because of Google services.||Issuetracker|
|Animation||On some budget devices, animation is disabled at the system level.|
|Google Place Picker||Unstable work of the Picker on some devices. The problem often leads to crashes.||Stackoverflow.com|
|Google Maps||Incorrect operation of maps caused by the specific version of Google API and incompatibility with a specific device.||Stackoverflow.com|
|Autocomplete||A frequent problem with incorrect Autocomplete functionality operation.|
|Android API||On some devices, developers face total API operation failure, for example, Bluetooth, NFC and others. This is caused by incorrect shell work.|
|Recording video on Chinese devices (Meizu)||The recorded video cannot be played.||Default video encoder is not to be used but H264|
Whatever the problem is, it can be solved by adding a certain functionality to avoid incorrect performance. The size of this additional functionality depends on a specific bug. To solve the problem, additional tools can be used, but it is resource consuming and not always possible. It may sometimes take much time to find the source of the crash or a bug. The problem is often reproduced on a certain device, not on many, and such bug is difficult to find and fix. To evaluate problem-solving on Chinese devices is rather difficult.
Note! The problems listed in the table may not occur when developing an app. They may vary depending on the model of the device, its version, firmwares, installed version of Google API (if the developer had a problem with Google services), device settings and others. We are going to update the information if and when any other problems are detected, so don’t forget to check our blog for more posts on the problems with Chinese devices in the app development.