I've searched for trial application expiry methods and I've found good answers regarding Trial periods for apps but they're time-based.
How can I create a Trial app version that expires after clicking a button 3 times?
based on this link Creating an Android trial application that expires after a fixed time period (option 2 on the accepted answer) I would like to hard code the number of times they have used it, so even an uninstall/intall would have no effect, is this possible?
Since you don't want to allow the user to get the trial again if he reinstalls the app you will have to use the third technique where you send the data to the server because that is the only way to persist the count of button clicks and tie it to the device across app installs. So instead of using the time u can keep a count of the number of times the button have been clicked on the server. Also u can configure the number of button clicks you want to allow before the app expires instead of hardcoding in the app.
If you don't want to run your own server then you use Parse
to store the number of clicks of the button and the user id. It is very easy to integrate.
https://parse.com/docs/android/guide#getting-started