先日、Google公式のAndroidアプリCloudPrintがリリースされた。
これ呼び出して楽に印刷出来ないもんかとIntentいじり回してたら成功したのでメモしておく。

File file = new File(anyFilePath);
String mimeType = "image/jpg";

Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.setType(mimeType);
intent.putExtra(Intent.EXTRA_TITLE, file.getName());
intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + file.getPath()));
intent.setPackage("com.google.android.apps.cloudprint");
startActivity(intent);

ホイ、超ラクチン!

ちなみに、アプリのIntent呼び出しじゃなくて真っ当にCloudPrintを組み込む方法なら↓。
https://developers.google.com/cloud-print/docs/android
WebView経由ってのも微妙な気がするけどなぁ。

———-
@2014/05/16追記
コンポーネント指定はSecurityExceptionが出るようになったので、パッケージ指定に変更しました。
(前パッケージ指定だとダメだった気がするんだけど、気のせいかなぁ?
あと、Webページを印刷する際にEXTRA_TEXTにURLを指定する方法は使えなくなっていたので、削除しました。
他の方法が見つけられなかったので、今のところHTMLをダウンロードしてファイルとして渡すという力技でやっちゃってます。。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Name *
Email *
Website

*