Migration path from LinkOS 1.2 to LinkOS 2.15

// Expert user has replied.
A Aditya Arora 2 years 3 months ago
10 9 0

Hello and thank you for reading the post.

We have an Android application built using Xamarin which prints on a Zebra ZQ510. The application targets min API of 26 and max of 29. We had deployed the app to inexpensive BLU phones API 28 and all was working well. (Using Visual Studio 2022)

We deployed same app to a new tablet device DigiLand API 29 and the printing stopped working, unable to discover device.

We noticed that our LinkOS version is 1.2 and the latest is 2.15. I think this is where the problem, at least its the only NuGet package NOT up to date.

Our questions:
1. Is the reason our app no longer works on API 29 because of LinkOS 1.2?
2. Is there a migration path or documentation for LinkOS 1.2 to 2.15?

Much thanks in advance
Aditya

Please Register or Login to post a reply

9 Replies

S Steven Si

If the app is targeted for Android 10 or higher (i.e., API level 29 or higher), the ACCESS_FINE_LOCATION permission must be declared in the manifest file and the permission is requested explicitly as well in order for the Bluetooth discovery to work. See this article for detail - Link-OS SDK for Android | Permissions and Bluetooth API.

A Aditya Arora

Thank you, I tried ACCESS_FINE_LOCATION and there was no change. Calling method FindBluetoothPrinters does not result in any found printers.

S Steven Si

Your app also needs to explicitly request the permission from the user. After the user grants the permission, then the Bluetooth discovery would work. Check the Android documentation on how to request the permission explicitly.

A Aditya Arora

Yes, good point. We updated the permission in code as well to make sure we explicitly ask for AccessFine as well. The code started to work on API 30 but not the Digiland Tablet API 29. It may be worth noting the Tablet does not have a phone; I don't know if that matter.

S Steven Si

It should work with the API level 29. Looks like the Digiland tablet may have a different way to manage the user permission. Go to the Settings -> Apps on the tablet and select your app. Then click on the Permissions to verify and grant the location permission from there.

A Aditya Arora

I took a picture of that screen and uploaded it to this case. It looks like the permissions is there unless I'm missing something.

S Steven Si

The screenshot does show the permissions are already granted. If the Digiland tablet is the only device that has problem to discover the Bluetooth printers, then it could be a device specific issue.

A Aditya Arora

I'll contact the manufacture.

Lastly, should we move to 2.15? Also, the lib doesn't seem to be updated since 2018. Is there a roadmap for this library?

S Steven Si

Yes, it's recommended to update the SDK to the latest. Please download the latest SDK from LINK-OS MULTIPLATFORM SDK DOWNLOADS & SUPPORT. Apparently, there is no plan for new releases unless major incompatibility issues arise.

CONTACT
Can’t find what you’re looking for?