there are 2 ways to determine if a print job has finished (one is by polling, the other is a callback). but you need to know how the os actually achieves printing. a device with an integrated printer is going involve custom hardware and software (although, somewhere along the line, one would suppose that android's standard printer classes come into play).
you need to access either the printjob or the printdocumentadapter. they hold the key to knowing when the job has finished. perhaps the manufacturer who provided the api can help. the printdocumentadapter provides a callback. the printjob would let you do a polling loop (obviously not the best solution, but you could make its timing minimally invasive). a tiny getter (which you would call at the start of printing) would provide the necessary object. if they made the printjob or the printdocumentadapter public and assigned it at that point, you could "get" it. you might also be able to get it via reflection, but you need access to whatever software is driving the printer.