Olá povo,
O post de hoje tem todos os créditos do meu colega
Felipe Vasconcelos, que precisou adicionar a funcionalidade de imprimir um documento através de um aparelho Android.
A solução utilizada por ele foi o
Google Cloud Print (http://www.google.com/cloudprint), um serviço que permite com que você compartilhe a(s) impressora(s) conectadas à sua máquina através da sua conta do Google.
O serviço está disponível apenas para máquinas Windows, por enquanto. Para utiliza-lo, é necessário fazer o download do
Chrome, em seguida, habilitar o serviço. Para tal, basta seguir
esse tutorial (do próprio Google).
Após habilitar o serviço, basta entrar no site do cloud print e "automagicamente" as impressoras que estão conectadas à sua máquina estarão "nas núvens", prontas para receber impressões.
Para imprimir documentos a partir da sua aplicação Android, basta adicionar os arquivos
print_dialog.xml e
PrintDialog.Activity.java ao seu projeto Android (na pasta res/layout e src respectivamente). Não esqueça de declarar a Activity e adicionar a permissão
android.permission.INTERNET ao AndroidManifest.xml. Esses arquivos são do próprio Google (veja
aqui).
Agora, para imprimir um arquivo TXT que esteja no SDCard, por exemplo, basta utilizar o código abaixo:
Intent printIntent =
new Intent(this, PrintDialogActivity.class);
printIntent.setDataAndType(
Uri.parse("file:///mnt/sdcard/arquivo.txt"),
"text/plain");
// Job da impressora
printIntent.putExtra("title", "Meu arquivo");
startActivity(printIntent);
Como vc deve imaginar, se fosse imprimir outro tipo de arquivo, bastaria mudar o MIME type.
Será exibida a tela abaixo. Faça o login no aparelho Android, selecione uma impressora, clique em "Print" e pronto!
Parabéns Felipe! Grande dica. E qualquer dúvida, falem com ele :)
4br4ç05,
nglauber