The short answer, unfortunately: no. The only way to use the printing platform provided for Android is to send the appropriate intention, and the print spooler application will display a print preview and a list of printers to choose from so that you canβt change this to print to the default printer. In addition, the Android infrastructure does not directly detect or communicate with the printer; instead, it uses print services in the background to connect to the printer. "The print service must request permission from android.permission.BIND_PRINT_SERVICE to ensure that only the system can bind to it," so you cannot bind to the print service (provided that it is already installed on the device) to print. Thus, it looks like your only option if you do not want the user interface to show in order to implement the connection and print itself. Also, how do you know if there is a default printer, or is it currently available?
Nonos source share