.NET MAUI Android Biometric App
.NET MAUI Android Biometric App

In this Blog post, I will tell you about my experience while developing a .NET MAUI Biometric Android App for Registering Fingerprints of First Time Offenders using an ARATEK A900 Fingerprint Scanner.

I started developing this .NET MAUI Biometric Android App with .NET 8 SDK.

Later on, Microsoft released .NET 9 SDK which I downloaded and built the App with it and noticed significant improvements in speed and Fingerprint images Display.

Questions for You!

Before I continue further, I would like to pose the following Questions to you. Please share your responses via email. My e-mail address is provided towards the very end of this Blog Post. Here at the Questions;

  1. Have you ever developed a .NET MAUI Android App that integrated with a Hardware device e.g. a Biometric Scanner?
  2. What was your overall Experience like integrating the device in your .NET MAUI Android App?
  3. Do you need Professional Help to integrate your Hardware device with your .NET MAUI Android App?

By the way, if you answer YES to Question No. 3, please head over to my official website www.BiometricsEngineer.com and send me an e-mail right now.

As of this time of writing, I have so far done Three (3) .NET MAUI Android Biometric App integrations using the Fingerprint Scanners i.e. ARATEK A600, DigitalPersona 4500 and ARATEK A900.

In this post, I am going to talk and discuss about the one for Biometric Registration Made Easy for Law Enforcement on Android Devices Using the ARATEK A900 Reader – A .NET MAUI Android integration.

Goodbye Xamarin, Hello .NET MAUI

When I got to learn about .NET MAUI for the first time, I was looking for a way to develop cross platform applications.

I wanted to be able to develop a Biometric Application that runs on Windows, Linux and Android using the same code base.

My searches on internet were showing me results about Xamarin.

When I delved further, I noticed that most recent posts by Microsoft about Xamarin seemed to encourage developers to start migrating their applications to .NET MAUI because Microsoft will no longer be supporting Xamarin.

By the way just in case you did not know, both Xamarin and .NET MAUI are Microsoft’s effort towards developing Cross Platform applications using .NET.

Xamarin has been around since 2011 and .NET MAUI the new kid on the block was first announced by Microsoft in the year 2020 as a possible replacement for Xamarin and it was officially released for the first time in the year 2022.

Microsoft purported that .NET MAUI was going to address performance issues in Xamarin by optimizing rendering pipelines and providing better support for modern UI patterns and also add improved tooling in Visual Studio to make it a more robust and developer-friendly framework for Cross Platform Applications.

So I was just lucky to have been making the step to develop a Cross Platform Biometric application in year 2023 otherwise, had I been planning to do this earlier, I would have ended up coding my Biometric Application in Xamarin.

After establishing that the future of year 2023 and beyond was .NET MAUI and not Xamarin, I set out to study about .NET MAUI and how .NET MAUI works in readiness for developing my Biometric App.

Similar to how I am fascinated by the thought of how humans could write code in COBOL, so will I be intrigued by how it must have felt to write applications using the Xamarin framework because I do not see myself ever touching Xamarin now that we have .NET MAUI.

My First .NET MAUI Android Fingerprint App used an ARATEK A600 Fingerprint Scanner

When I finally figured my way around .NET MAUI, I decided to Develop a .NET MAUI Android Biometric App using the ARATEK A600 Fingerprint Scanner.

To get started, I upgraded my Visual Studio to the current release at that time.

There after I installed .NET MAUI.

I remember I really doubted the possibility of  a .NET app could run on an Android Phone.

All along in my years as a developer, it had stuck in my head that the only way to develop Android Apps is to code them in Java or Kotlin in Android Studio.

So I was very curious to see whether a .NET  app could really indeed run in an Android Phone.

I activated the Developer option in my Android Phone then enabled USB debugging.

I then connected and paired my Android Phone with my Computer  and set debugging on my Visual Studio 2022 to my Android Phone.

I built and deployed the sample .NET MAUI application to my Android Phone and voila, to my disbelief, it was working on my Android Phone.

This was the first time that I had seen a .NET app running in an Android Phone.

Now that I had witnessed a working .NET MAUI app running on my Android Phone, I stopped being a doubting Thomas.

I was now convinced that I could develop an Android .NET MAUI Biometric App and make it work on my Android Phone.

I then started a new .NET MAUI project in my Visual Studio 2022 IDE to develop my first .NET MAUI Android Biometric App.

I ended up developing a simple Android .NET MAUI Biometric App that could Capture, Enroll and Authenticate Fingerprints using the ARATEK A600 Fingerprint Scanner and its ARATEK Trust Finger SDK.

I was so impressed with the App that I had developed that I vowed that I should do more of these Android .NET MAUI Biometric integrations in future using various other Biometric Scanners.

Here below is the video demo of The First Android .NET MAUI Biometric App that I ever Developed

YouTube player

My Second .NET MAUI Android Fingerprint App used a DigitalPersona 4500 Fingerprint Scanner

The Second Android .NET MAUI Biometric App that I developed was with a DigitalPersona 4500 Fingerprint Scanner.

I will do a dedicated Blog Post for this Android .NET MAUI Biometric App where I used the DigitalPersona 4500 Fingerprint Scanner.

However, if you are excited to learn about the story behind it, check out this Blog Post that I wrote on ARATEK A800 Scanner PHP Web Biometric Integration under the section header, The Rains, The Floods and The Electricity Power Black outs.

My Third .NET MAUI Android Fingerprint App used an ARATEK A900 Fingerprint Scanner

The Third .NET MAUI Android Biometric App that I developed was with an ARATEK A900 Fingerprint Scanner.

It is the one that I am going to tell you about shortly in this Blog Post here! Are you ready?

Are you ready to learn about the .NET MAUI Android Biometric App that I developed for Registering First Time Offenders Biometrics using the ARATEK A900 Fingerprint Scanner?

Let us now get started!

Preparing to Develop the .NET MAUI Android Biometric App for First Time Offenders Fingerprint Registration using ARATEK A900

Unlike the ARATEK A600 .NET MAUI Android App that I had developed earlier with an ARATEK Trust Finger SDK, I needed to use a Trust Finger Multiple SDK for the ARATEK A900 Fingerprint Scanner.

The Trust Finger Multiple SDK provides you the functionality of being able to do Fingerprint Segmentation as well as Capture Rolled Fingerprints.

To get started, I First upgraded my .NET SDK from .NET 7 SDK to .NET 8 SDK.

I think I also updated my Visual Studio 2022 to the latest version at the time.

Thereafter I built an Android Java Library Binding for my .NET MAUI Biometric Project using the JAR sources from the ARATEK Trust Finger Multiple SDK and added the resulting Binding lib to my main .NET MAUI Biometrics project.

I then enabled Developer Mode in my physical Android Phone

I also enabled USB Debugging Mode in my physical Android Phone.

One thing that you have to keep in mind is that, you CANNOT debug from an Android Device emulator if you are interfacing your .NET MAUI App with an External USB Device.

The most viable option to Debug a .NET MAUI App that works with an External USB device is to do it on a physical Android Phone Device. That is why I enabled USB Debugging on my Physical Android Phone.

Lastly, I retrieved and kept in readiness, a USB OTG cable for pairing my ARATEK A900 Fingerprint Scanner with my Android Phone.

The only way to connect and issue commands to an ARATEK A900 Fingerprint Scanner from an Android Phone is via an OTG USB cable.

Developing the .NET MAUI Android Biometric App for First Time Offenders Fingerprint Registration using ARATEK A900

Once I had everything setup correctly, I began work on Developing the App on my Visual Studio 2022 IDE.

I have seen Tech forums and platforms that recommend using Visual Studio Code for developing .NET MAUI Apps but for me, I just cannot bring myself to understand why one would use Visual studio Code IDE instead of Visual Studio 2022 IDE.

I love Visual Studio 2022 IDE and I cannot fathom using any other IDE for developing C# . NET Applications and .NET MAUI Applications.

What is your ideal IDE for Developing .NET MAUI apps?

I first started out by designing the outlook of the .NET MAUI Biometric App.

Since I wanted to Capture Rolled Fingerprints for every Finger, I added 10 boxes for Displaying Rolled Fingers with each box having a Button below it for Triggering Rolled Finger Capture.

At the Top of these Boxes, I Added 2 Sections where 1 Section would Capture the First Time Offender’s Mugshot / Passport Photo and in the other Section, I added Text input fields for Typing their Details.

The Mugshot / Passport Photo would be captured using the Android Phone’s camera.

Then at the very bottom of the 10 boxes for Displaying Captured Rolled Fingers, I added a Submit Button for Saving First Time Offender Captured and Enrolled Details.

It was just a simple GUI layout for the .NET MAUI Biometric App.

The GUI had instructions in both Swahili and English which are the official languages of my country Kenya. Swahili and English are spoken widely in the greater East African block of countries.

To implement the code logic for Capturing Rolled Fingers, I added the JAR sources from the Aratek Trust Finger Multiple SDK in my Project.

I also added the resulting Binding lib from building the Android Java Library Binding to my the .NET MAUI Biometric project.

I wrote the code for the Capture Rolled Fingers for the 10 Fingerprint Boxes which would initialize Finger Capture on the ARATEK A900 Fingerprint Scanner whenever any of the Buttons below them was clicked.

Then I wound up by writing code for Mugshot / Passport Photo capture and display of the First Time offender’s Face photo.

Now let me share with you my struggles of developing this .NET MAUI App.

The Challenges of integrating External USB Fingerprint Scanner, ARATEK A900 in the .NET MAUI Android Biometric App

When I was developing this .NET MAUI App, it was in the year 2024.

That time, the latest version of .NET SDK for developing .NET MAUI Apps was .NET 8 SDK.

Surprisingly enough, this .NET 8 SDK was an LTS release.

You know, one would think that with an LTS version, oh by the way, when I say LTS, I mean, a Long Term Support version of .NET SDK which will be supported by Microsoft for the next 3 years after its release.

There were some glitches in my .NET MAUI Biometric App that I could not understand how they were coming about when I was coding with the .NET 8 SDK which later disappeared when I upgraded my .NET 8 SDK to .NET 9 SDK.

By the way, when .NET 9 SDK was released, I had already finished coding this App, created a video demo for it and uploaded it on YouTube.

Some of the challenges that I had with .NET 8 SDK while developing my .NET MAUI App included;

  • Face Photo not being Displayed after Capture with my Android Phone’s camera
  • Random Delays in Displaying Fingerprint images after Finger Scan
  • Sometimes the App would crash while capturing the Rolled Fingerprint from the Finger Scanner but I think this could have been because my Android Phone had several Apps opened when running this App.
  • App taking longer than usual to initialize whenever I tapped on its icon

I found that most of these issues were resolved by .NET 9 SDK.

I already understand that .NET MAUI is still rnew and that Microsoft is working hard to remove the teething problems with every new release of .NET SDK.

Therefore, I will cut Microsoft some slack and not bash them for the issues that I had to deal with while developing this .NET MAUI Android Biometric App.

I actually loved the odd curveballs that .NET MAUI threw at me while developing this App.

They forced me to learn some aspects of .NET MAUI that I might have struggled to grasp if everything had worked as intended.

Overall, I had a great experience integrating the ARATEK A900 Fingerprint Scanner in the .NET MAUI Biometric App for First Time Offenders’ Biometric Registration.

Photos of the .NET MAUI Android Biometric App

First Page of .NET MAUI Biometric Android App with Coat of Arms Photo
First Page of Android .NET MAUI Biometric App with Coat of Arms Photo
Photo of a Rolled Right Ring Finger in the .NET MAUI Biometric Android App
Photo of a Rolled Right Ring Finger in the Android .NET MAUI Biometric App
Photo of Rolled Left Thumb Left Index and Left Middle Fingers in the .NET MAUI Biometric Android App
Photo of Rolled Left Thumb Left Index and Left Middle Fingers in the .NET MAUI Android Biometric App
Section for Capturing and Displaying Person Face Photo on the .NET MAUI Biometric Android App
Section for Capturing and Displaying Person Face Photo on the .NET MAUI Android Fingerprint App
Section for Capturing Person Details in the .NET MAUI Biometric Android App
Section for Capturing Person Details in the .NET MAUI Android Fingerprint App
Section for Capturing Rolled Fingers of the Right Hand in the .NET MAUI Biometric Android App
Section for Capturing Rolled Fingers of the Right Hand in the .NET MAUI Android Fingerprint App
Splash Screen for .NET MAUI Biometric Android App
Splash Screen for .NET MAUI Biometric App
The About Information for the .NET MAUI Biometric Android App
The About Information for the .NET MAUI Biometric Android App
Prompt for Enrolling Left Middle Finger in the .NET MAUI Biometric Android App
Prompt for Enrolling Left Middle Finger in the .NET MAUI Android Fingerprint App
Scrolling Up to the next Box for Capturing another Rolled Finger in the .NET MAUI Biometric Android App
Scrolling Up to the next Box for Capturing another Rolled Finger in the Android .NET MAUI Fingerprint App
ARATEK A900 Scanner Ready to Capture another Rolled Finger in the .NET MAUI Biometric Android App
ARATEK A900 Scanner Ready to Capture another Rolled Finger in the .NET MAUI Biometric Android App
Message showing Person Data was saved Successfully in the .NET MAUI Biometric Android App
Message showing Person Data was saved Successfully in the .NET MAUI Android Biometric App
Part of my Code in Visual Studio 2022 IDE for the .NET MAUI Biometric Android App
Part of my Code in Visual Studio 2022 IDE for the .NET MAUI Android Biometric App
Preparing to Roll Right Ring Finger on ARATEK A900 Scanner in the .NET MAUI Biometric Android App
Preparing to Roll Right Ring Finger on ARATEK A900 Scanner in the .NET MAUI Android fingerprint App
Spreading Right Ring Finger in Readiness of Rolling it on ARATEK A900 Scanner in the .NET MAUI Biometric Android App
Spreading Right Ring Finger in Readiness of Rolling it on ARATEK A900 Scanner in the .NET MAUI Android Fingerprint App
Tapping Submit Button to Save Rolled Fingers and Person Details in the .NET MAUI Biometric Android App
Tapping Submit Button to Save Rolled Fingers and Person Details in the .NET MAUI Android Fingerprint App

Video of the .NET MAUI Android Biometric App

YouTube player

Need Help Integrating Biometrics into Your Enterprise Systems?

I can Help you!

Write to me on the E-mail Address below or rather; check out the Services and Prices that I offer People like You, Companies, Organizations and SMEs for Biometric integrations on my official website here www.BiometricsEngineer.com.

Joseph Mwema's Email Address and YouTube Channel's QR Code
Joseph Mwema’s Email Address and YouTube Channel’s QR Code

Other Biometric Integrations that I have implemented in the Past

Some of the Companies, Organizations and Institutions that I have helped to integrate Biometrics in their Software Applications

error: Content is protected !!